PHP ActiveX Requires Chilkat v11.7.0+
PHP ActiveX
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 ActiveX Downloads
<?php
$success = 0;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
$json = new COM("Chilkat.JsonObject");
$json->UpdateString('payload.text','https://www.chilkatsoft.com/');
$json->UpdateInt('render.moduleSize',5);
$fmt = new COM("Chilkat.Formats");
$jsonOut = new COM("Chilkat.JsonObject");
$success = $fmt->QrCode('generate',$json,$jsonOut);
if ($success == 0) {
print $fmt->LastErrorText . "\n";
exit;
}
// A data URI has the form data:<MIME type>;base64,<base64 data>
$sbHtml = new COM("Chilkat.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>');
$success = $sbHtml->WriteFile('qa_output/qr_page.html','utf-8',0);
if ($success == 0) {
print $sbHtml->LastErrorText . "\n";
exit;
}
print 'image: ' . $jsonOut->IntOf('outputs[0].width') . ' x ' . $jsonOut->IntOf('outputs[0].height') . ' pixels' . "\n";
print 'HTML length: ' . $sbHtml->Length . "\n";
// The page, as a browser shows it:
//
// Sample output:
// image: 185 x 185 pixels
// HTML length: 1211
?>