Perl Requires Chilkat v11.7.0+
Perl
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 Perl Downloads
use chilkat();
$success = 0;
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$json = chilkat::CkJsonObject->new();
$json->UpdateString("payload.text","https://www.chilkatsoft.com/");
$json->UpdateInt("render.moduleSize",5);
$fmt = chilkat::CkFormats->new();
$jsonOut = chilkat::CkJsonObject->new();
$success = $fmt->QrCode("generate",$json,$jsonOut);
if ($success == 0) {
print $fmt->lastErrorText() . "\r\n";
exit;
}
# A data URI has the form data:<MIME type>;base64,<base64 data>
$sbHtml = chilkat::CkStringBuilder->new();
$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() . "\r\n";
exit;
}
print "image: " . $jsonOut->IntOf("outputs[0].width") . " x " . $jsonOut->IntOf("outputs[0].height") . " pixels" . "\r\n";
print "HTML length: " . $sbHtml->get_Length() . "\r\n";
# The page, as a browser shows it:
#
# Sample output:
# image: 185 x 185 pixels
# HTML length: 1211