バックグラウンド
私たちの会社では、手動でより良いことをするための作業が少なくて済みます。私たちのマーケティング担当者が私に近づき、PHPで名刺を自動的に生成する方法があるかどうか尋ねました。テンプレートをSVGファイルとして保存できれば問題ないはずだと彼女に言いました。
それで彼女はそうしました。詳細スペースを見つけてユーザー入力に置き換えるだけなので、テキストの編集は非常に簡単です。
問題
私が現在抱えている最大の問題は、GoogleChartsAPIから取得したQRコードです。QRコードには、携帯電話に簡単に保存できる名刺データが含まれています。QRコードは、GoogleChartsAPIへの次の呼び出しで取得されます。
$request = "http://chart.apis.google.com/chart?chs=500x500&cht=qr&chld=M&chl=" . urlencode($vcard);
$vcard
PHPで作成したVCardはどこにありますか。QRコードをスキャンするときにVCardを使用できるため、これは機能します。
私が試したこと
SVGファイル内の画像はすべてテキストにエンコードされているため、次の方法を試しました。
file_get_contents($request); // Seems the encoding is of as there are weird characters in the result
img2php.class // Downloaded from PHP Classes, but only converts images in a directory
追加情報
私が気付いたのは、QRコードは生成されたPNGであるということです。それが答えに影響するかどうかはわかりません。
また、名刺の現在のQRコードは次のようにエンコードされます。
<image overflow="visible" width="200" height="200"
xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEBZwFnAAD/
7AARRHVja3kAAQAEAAAAHgAA/+4AIUFkb2JlAGTAAAAAAQMA
EAMCAwYAAAReAAALrQAAHjX/2wCEABALCwsMCxAMDBAXDw0PFxsUEBAUGx8XFxcXFx8eFxoaGhoX
Hh4jJSclIx4vLzMzLy9AQEBAQEBAQEBAQEBAQEABEQ8PERMRFRISFRQRFBE
** random gibberish **
saaZZmll6QMgIAGkLbb5qxkhmSE47OSXBN9YXg81d+i5LV36LktWPktmRMsMqSFQrXIRg1v8bjuM
2IBmJtpbymu/Rclq79FyWrv0XJasl5p0mGQqABARbQW4fP8A/s//
2Q==" transform="matrix(0.2003 0 0 0.2003 56.5049 191.0313)">
</image>
質問
Google APIからQRコードを取得し、それを文字列にエンコードしてSVGテンプレートに追加する方法はありますか?