上野家のホームページ
ナーマル,マリン,ココ
[
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
開発/Barcode/QRコード/Google Chart APIを使ってQRコードを作成する
のソース
資料室
開発
/
Barcode
/
QRコード
/
Google Chart APIを使ってQRコードを作成する
のソース
[
差分
|
バックアップ
|
リロード
]
[ ]
差分
を表示
開発/Barcode/QRコード/Google Chart APIを使ってQRコードを作成する
へ行く。
* Google Chart APIを使ってQRコードを作成する [#o4d8f377] Google ChartsはGoogleがオンラインで提供しているグラフ描画サービスで,JavaScriptが動作するWEBブラウザで手軽にグラフを作成できるサービス。~ また,これをWEBサービス化したのがGoogle Chart APIのようだ。~ Google Chart APIでは,QRコード作成もサポートされている。~ 利用するには''インターネットにアクセスできる環境からでないと利用は出来ない''が,使いやすいサービス。~ 問題としては,Google側のサービスの不具合や,API仕様が突然変更されたり,サービスを突然停止し使用出来なくなってしまう問題がある。~ Googleから&color(#ff0000){''03/14/2019をもってこのサービスが使えなくなるとアナウンスされていて,実際に3/18/2019から使用できなくなった。3/20/2019になぜか復活した。''};~ まあ,復活してもいつまで使えるかはわかりません・・・~ 代替えサービスとしては,[[Google Chart APIの代わりのサービス>#ec00b711]]が使用出来る。~ ** Goolge Chart APIって [#vef083bc] [[Google Charts>https://developers.google.com/chart/]]は,Googleが提供しているグラフ作成サービス。~ Googleは,WEB API(Google Chart API)としてもサービスしてくれていて,URLにパラメータを指定するだけでグラフをPNG画像として取得出来ちゃいます。 このGoogle Chartを使った''WEB APIでは,QRコードもサポートされている。(Google Charts自体にはQRコードはサポートされていない。)'' 残念ながらGoogle Chart APIでは''MicroQRコードには対応していなかった。'' 使用例:~ http://chart.apis.google.com/chart?cht=qr&chs=100x100&chco=000000&chl=https://yueno.net/ //実行例:(%%03/14/2019以降は表示されないと思う。%% 03/20/2019に使えるように復活したがいつまで使えるかは不明。下に表示されていなければ動作していません。)~ //#iframe(http://chart.apis.google.com/chart?cht=qr&chs=100x100&chco=000000&chl=https://yueno.net/,style=width:100px;height:100px;,iestyle=width:100px;height:100px;) wgetコマンドで直接QRコード画像が得られる。~ > wget -O yueno.png "http://chart.apis.google.com/chart?cht=qr&chs=100x100&chco=000000&chl=https://yueno.net/" *** Google Chart APIでのQRコード用パラメータ [#q65c7410] 使い方は,以下のような形式で指定する。~ http://chart.apis.google.com/chart?cht=qr&chs=<QRコードのサイズ>&chco=<色>&choe=<QRコード画像の出力エンコード>&chl=<QRコードにしたい文字列> |パラメータ |必須 or オプション|説明|h |cht=qr |必須 |QRコードを指定| |chs=<幅>x<高さ> |必須 |イメージサイズ| |chl=<入力データ> |必須 |エンコードするデータ。 数字(0-9),英文字,バイナリデータ,漢字コード。&br;''データが日本語の場合は,UTF-8文字列でURLエンコードしたデータが必要''。max.2K(POSTで送る)| |choe=<出力エンコードタイプ> |オプション |QRコードの出力エンコードタイプの指定。以下が可能:&br;UTF-8(デフォルト)&br;Shift_JIS&br;ISO-8859-1| |chld=<エラー訂正レベル> or <マージン> |オプション |エラー訂正レベル:&br;L - 約7%が復元可能(デフォルト)&br;M - 約15%が復元可能&br;Q - 約25%が復元可能&br;H - 約30%が復元可能&br;マージン - QRコードのデータ部分の周囲の白い境界線の幅。行単位(ピクセルサイズではない)&br;(デフォルト):4| |chco=<色> |オプション |作成データの色。RGBの並びで各色ごとに8bit16進数で指定。&br;(デフォルト):000000| ** Microsoft EXCELで使ってみる [#qa7bbf54] 以下の''VBAマクロ''をEXCELの標準モジュールに追加する。~ #code(vb,nonumber){{ ' ' QRimg(QRコード化する文字列 as string) ' ' by Yuji ueno ' Public Function QRimg(ByVal str As String) As String Dim TopPosition As Double Dim LeftPosition As Double Dim wkSheet As Worksheet Dim xRange As Range Dim xAddr As String Dim QRShape As Shape ' 文字列がなかったらエラーで終了 If Len(str) = 0 Then QRimg = "False" Exit Function End If If TypeName(Application.Caller) <> "Range" Then QRimg = "False" Exit Function End If ' 呼ばれたワークシートを取得 Set wkSheet = Application.Caller.Worksheet Set xRange = Application.Caller xAddr = xRange.Address ' 前にセルに貼られていた画像を削除 Range(xAddr).Select For Each selectRange In Selection For Each myShape In wkSheet.Shapes Set myRange = Range(myShape.TopLeftCell, myShape.BottomRightCell) If Intersect(myRange, Range(xAddr)) Is Nothing = False Then myShape.Delete End If Next Next ' 画像の位置 TopPosition = xRange.Top LeftPosition = xRange.Left ' QRコードを作成するリクエストを作成(Google Chart APIを使用する) url = "http://chart.apis.google.com/chart?cht=qr&chs=80x80&chco=000000&chl=" & str & "" 'url = "https://bwipjs-api.metafloor.com/?bcid=qrcode&&size=100&text=" & str & "" If Not url = "" Then ' QRコードのイメージを表示 Set QRShape = wkSheet.Shapes.AddPicture(url, LinkToFile:=False, SaveWithDocument:=True, Left:=LeftPosition, Top:=TopPosition, Width:=80, Height:=80) End If QRimg = "" End Function }} ワークシートの''B1''に「=QRimg(A1)」と入れて,''A1''にQRコードに埋め込むデータを入れると,''B1''にQRコード画像が挿入される。~ #ref(excel.png,,70%) * Google Chart APIの代わりのサービス [#ec00b711] 使えなくなったGoogle Chart APIの代わりになるようなサービス。~ ** Online Barcode API [#n7f3a8cb] [[Online Bardode API>https://github.com/metafloor/bwip-js/wiki/Online-Barcode-API]]というサービスがあります。~ QRコードだけでなく一般的なほとんどのバーコードを作成することが出来る。ただ,通常の棒グラフとか円グラフといったグラフはサポートされていない。~ MicroQRコードにも対応している。~ WEB APIはオープンソース・ソフトウェアなので,自前のサーバーでも動かすことも可能。~ 使用例: https://bwipjs-api.metafloor.com/?bcid=qrcode&text=https://yueno.net https://bwipjs-api.metafloor.com/?bcid=microqrcode&version=M4&text=yueno.net //上記の実行例: //#iframe(https://bwipjs-api.metafloor.com/?bcid=qrcode&text=https://yueno.net,style=width:100px;height:100px;,iestyle=width:100px;height:100px;) curlを使って,直接QRコード画像が得られます。 > curl -o yueno.png "https://bwipjs-api.metafloor.com/?bcid=qrcode&text=https://yueno.net" ** QuickChart [#x585056c] Google Cart APIのようなサービスとして[[QuickChart>http://quickchart.io]]がある。~ QRコード以外は,[[Chart.js>https://www.chartjs.org/]]を使用していると思われる。~ MicroQRコードには対応していない。~ WEB APIとしていつまでサービスしてくれるかは不明だが,オープンソース・ソフトウェアなので,自前のサーバーでも動かすことも可能。~ 使用例: https://quickchart.io/qr?size=100&text=https://yueno.net //上記の実行例: //#iframe(https://quickchart.io/qr?size=100&text=http://www.nalux.co.jp,style=width:100px;height:100px;,iestyle=width:100px;height:100px;) curlを使って,直接QRコード画像が得られます。 > curl -o yueno.png "https://quickchart.io/qr?size=100&text=https://yueno.net" ** QR code API [#x10250d8] [[QR code API>http://goqr.me/api/]]という,QRコードを作成するWEB APIがあります。~ 残念ながらMicroQRコードには対応していないようだ。~ APIに関するドキュメントは,[[こちらのページ>http://goqr.me/api/doc/]]に書かれている。~ 使い方は簡単です。 https://api.qrserver.com/v1/create-qr-code/?data=https://yueno.net&size=100x100 とすればOK。 //上記の実行してみると, //#iframe(https://api.qrserver.com/v1/create-qr-code/?data=https://yueno.net&size=100x100,style=width:100px;height:100px;,iestyle=width:100px;height:100px;) //のようにQRコードが取得できます。 // curlを使って,直接QRコード画像が得られます。 > curl -o nalux.png "https://api.qrserver.com/v1/create-qr-code/?data=https://yueno.net&size=100x100"
開発/Barcode/QRコード/Google Chart APIを使ってQRコードを作成する のバックアップソース(No. All)
現: 2024-04-09 (火) 13:25:18
yuji
Counter: 212, today: 1, yesterday: 0
Copyright©2008 Yuji Ueno All Rights Reserved.
ログイン
ユーザ名:
パスワード:
IDとパスワードを記憶
パスワード紛失
メインメニュー
ホーム
でぶlog
資料室
最新ページ一覧
全ページ一覧
ヘルプ
» 関連ページ
» Wikiソース
» 編集履歴
» バックアップ一覧
» 添付ファイル一覧
フォーラム
お問い合わせ