PHP Requires Chilkat v11.7.0+
Chilkat2 PHP
Embed a QR Code in HTML as a Data URI
See more QR Code Examples
Demonstrates putting a QR code directly into an HTML page or HTML email with no separate image file. The base64 PNG returned by QrCode becomes the src of an img tag as a data URI, which is the MIME type from outputs[0].mimeType followed by the base64 from outputs[0].base64.Chilkat PHP Downloads
<?php
use Chilkat2\Formats;
use Chilkat2\JsonObject;
use Chilkat2\StringBuilder;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
$json = new JsonObject();
$json->UpdateString('payload.text', 'https://www.chilkatsoft.com/');
$json->UpdateInt('render.moduleSize', 5);
$fmt = new Formats();
$jsonOut = new JsonObject();
try {
$fmt->QrCode('generate', $json, $jsonOut);
// A data URI has the form data:<MIME type>;base64,<base64 data>
$sbHtml = new StringBuilder();
$sbHtml->Append('<html><body><p>Scan to visit chilkatsoft.com</p><img alt="QR code" width="');
$sbHtml->AppendInt($jsonOut->IntOf('outputs[0].width'));
$sbHtml->Append('" height="');
$sbHtml->AppendInt($jsonOut->IntOf('outputs[0].height'));
$sbHtml->Append('" src="data:');
$sbHtml->Append($jsonOut->StringOf('outputs[0].mimeType'));
$sbHtml->Append(';base64,');
$sbHtml->Append($jsonOut->StringOf('outputs[0].base64'));
$sbHtml->Append('"></body></html>');
$sbHtml->WriteFile('qa_output/qr_page.html', 'utf-8', false);
} catch (\Chilkat2\Exception $e) {
echo $e->getMessage(), "\n";
exit;
}
echo 'image: ', $jsonOut->IntOf('outputs[0].width'), ' x ', $jsonOut->IntOf('outputs[0].height'), " pixels\n";
echo 'HTML length: ', $sbHtml->Length, "\n";
// The page, as a browser shows it:
//
// Sample output:
// image: 185 x 185 pixels
// HTML length: 1211