忍者ブログ

VB.NET-TIPS などプログラミングについて

VB.NETのTIPS(小技集)を中心に、Javascript、PHP その他のプログラミングについて少し役に立つ情報を発信します。いわゆる個人的な忘備録ですが、みなさんのお役に立てれば幸いです。

PHP TCPDFの内部クラスを利用して「QR-CODE」をPNGファイルに出力する方法について(TCPDF2DBarcodeクラス)

今回は TCPDF の内部クラスである TCPDF2DBarcode クラスを使って 二次元バーコード(QR-CODE)PNGファイルに出力する方法について説明します。

以下の記事では 二次元バーコード(QR-CODE) をPDFファイルに描画してブラウザに表示させていましたが、 TCPDF の内部的に画像データを生成する部分のみを直接呼出すことで、その画像データからファイル出力ができます。

PHP TCPDFの二次元バーコード(QR-CODE)の表示方法について(write2DBarcodeメソッド)

上の記事では結果として以下の表示がされますが、この中の右下のQR-CODEをPNGファイルとして出力させてみます。


TCPDF2DBarcode クラスを使用したPNGファイルの出力

以下の例では QRCODEレベル H のバーコードをPNGファイルとして出力しています。

<?php
//include 2D barcode class
require_once('../tcpdf/tcpdf_barcodes_2d.php');

//二次元バーコードクラス生成
$str = "https://www.yahoo.co.jp/";
$barcodeobj = new TCPDF2DBarcode($str, 'QRCODE,H');

//QR-CODEのPNGイメージの生成
$data = $barcodeobj->getBarcodePngData(5, 5, array(0,0,0));

//生成されたPNGイメージのデータ文字列をリソースに戻す
$image = imagecreatefromstring($data);

//背景を白に設定
//「getBarcodePngData」の出力が背景が「transparent」になっているので強制的に白設定
$trans = imagecolorallocate($image, 255, 255, 255);
imagecolortransparent($image, $trans);

//画像の保存
imagepng($image, "barcode2d-test.png");
?>

これの実行し、PNGファイルの結果は以下の通りです。












PR

コメント

コメントを書く