5

私はCakePHP 1.3にTCPDFをインストールしており、それを使用してQRコードのPDFを生成しています。A9サイズのページ、2つの文字列、1つのQRコードを作成する非常にシンプルな機能です。QR コードは単純な URL 用です (つまり、「example.com/12345」)。

ページをブラウザー (組み込みの PDF リーダーを使用する Safari) に読み込むことができます。ページを再読み込みするたびに、QR コードがわずかに変化します。モジュールの寸法は同じですが、データ要素は大幅に異なります。「L」データ冗長設定を使用しています。文字列は呼び出しごとにまったく同じですが、QR は変わります。何度もリロードを見た後、3 つまたは 4 つのバリエーションしか循環していないと思います。

ここが本当に素晴らしい部分です。正しくスキャンします。QR の各順列は、QR リーダー (iPhone4 の i-Nigma) でまったく同じ URL になります。

何か案は?本当に愚かで明白なことをしている、または見逃していますか?前もって感謝します!

4

2 に答える 2

4

TCPDF で使用される QR コード生成ライブラリは、QR コードの作成に少し「怠惰な」方法を使用しているようです。8 つの「マスク」パターンのいずれかをランダムに選択して、コードが改善されるかどうかを確認します。特定の基準を満たす場合、ランダムに選択されたマスクを使用します。その結果、毎回異なる QR コードが生成される可能性があります。

どうやら、Google はより優れたアルゴリズムを使用してマスクを選択しているようです。おそらくすべてのマスクをチェックして、最適なものを選択します。これにより、ランダムに選択された結果ではなく、予測可能な結果が得られます。

組み込みの QR ジェネレーターを使用する代わりに、Google Chart API を呼び出して PNG を取得し、それを PDF に配置します。

于 2010-08-27T19:21:04.077 に答える