Sample code for 30+ languages & platforms
Perl Requires Chilkat v11.7.0+

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

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

my $json = Chilkat2::JsonObject->new;
$json->UpdateString('payload.text', 'https://www.chilkatsoft.com/');
$json->UpdateInt('render.moduleSize', 5);

my $fmt = Chilkat2::Formats->new;
my $jsonOut = Chilkat2::JsonObject->new;
my $success = $fmt->QrCode('generate', $json, $jsonOut);
if (!$success) {
    print $fmt->LastErrorText, "\n";
    exit;
}

# A data URI has the form  data:<MIME type>;base64,<base64 data>
my $sbHtml = Chilkat2::StringBuilder->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) {
    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:

# image

# Sample output:

# image: 185 x 185 pixels
# HTML length: 1211