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

Get the QR Code Capabilities of the Chilkat Version in Use

See more QR Code Examples

Demonstrates the capabilities operation, which describes what the installed version of Chilkat can do: the range of QR versions, the error-correction levels, the operations, the image formats and the limits. A program can check for a feature here instead of testing for a Chilkat version number. The request can be an empty JSON object.

Chilkat Perl Downloads

Perl
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();
$fmt = chilkat::CkFormats->new();
$jsonOut = chilkat::CkJsonObject->new();
$success = $fmt->QrCode("capabilities",$json,$jsonOut);
if ($success == 0) {
    print $fmt->lastErrorText() . "\r\n";
    exit;
}

print "Chilkat version: " . $jsonOut->stringOf("productVersion") . "\r\n";
print "symbology: " . $jsonOut->stringOf("symbologies[0].id") . "\r\n";
print "QR versions: " . $jsonOut->IntOf("symbologies[0].encoding.version.min") . " to " . $jsonOut->IntOf("symbologies[0].encoding.version.max") . "\r\n";
print "structured append, most symbols: " . $jsonOut->IntOf("symbologies[0].structuredAppend.maxSymbols") . "\r\n";

$n = $jsonOut->SizeOfArray("symbologies[0].encoding.errorCorrection");
for ($i = 0; $i <= $n - 1; $i++) {
    $jsonOut->put_I($i);
    print "error correction: " . $jsonOut->stringOf("symbologies[0].encoding.errorCorrection[i]") . "\r\n";
}

#  The operations this version implements.
$n = $jsonOut->SizeOfArray("operations");
for ($i = 0; $i <= $n - 1; $i++) {
    $jsonOut->put_I($i);
    if ($jsonOut->BoolOf("operations[i].available") == 1) {
        print "operation: " . $jsonOut->stringOf("operations[i].name") . "\r\n";
    }

}

$n = $jsonOut->SizeOfArray("imageFormats.output");
for ($i = 0; $i <= $n - 1; $i++) {
    $jsonOut->put_I($i);
    print "image format: " . $jsonOut->stringOf("imageFormats.output[i]") . "\r\n";
}

print "default timeout: " . $jsonOut->IntOf("limits.timeoutMs.default") . " ms" . "\r\n";
print "default largest image: " . $jsonOut->IntOf("limits.maxPixels.default") . " pixels" . "\r\n";

#  Sample output:

#  Chilkat version: 11.7.0
#  symbology: qr
#  QR versions: 1 to 40
#  structured append, most symbols: 16
#  error correction: auto
#  error correction: L
#  error correction: M
#  error correction: Q
#  error correction: H
#  operation: generate
#  operation: measure
#  operation: validate
#  operation: capabilities
#  image format: png
#  image format: svg
#  default timeout: 10000 ms
#  default largest image: 16777216 pixels