Google Chart APIを使ってQRコードを作成する anchor.png

Google ChartsはGoogleがオンラインで提供しているグラフ描画サービスで,JavaScriptが動作するWEBブラウザで手軽にグラフを作成できるサービス。
また,これをWEBサービス化したのがGoogle Chart APIのようだ。

Google Chart APIでは,QRコード作成もサポートされている。
利用するにはインターネットにアクセスできる環境からでないと利用は出来ないが,使いやすいサービス。

問題としては,Google側のサービスの不具合や,API仕様が突然変更されたり,サービスを突然停止し使用出来なくなってしまう問題がある。

Googleから03/14/2019をもってこのサービスが使えなくなるとアナウンスされていて,実際に3/18/2019から使用できなくなった。3/20/2019になぜか復活した。
まあ,復活してもいつまで使えるかはわかりません・・・

代替えサービスとしては,Google Chart APIの代わりのサービスが使用出来る。

Page Top

Goolge Chart APIって anchor.png

Google Chartsは,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/

wgetコマンドで直接QRコード画像が得られる。

> wget -O yueno.png "http://chart.apis.google.com/chart?cht=qr&chs=100x100&chco=000000&chl=https://yueno.net/"
Page Top

Google Chart APIでのQRコード用パラメータ anchor.png

使い方は,以下のような形式で指定する。

http://chart.apis.google.com/chart?cht=qr&chs=<QRコードのサイズ>&chco=<色>&choe=<QRコード画像の出力エンコード>&chl=<QRコードにしたい文字列>
パラメータ必須 or オプション説明
cht=qr必須QRコードを指定
chs=<幅>x<高さ>必須イメージサイズ
chl=<入力データ>必須エンコードするデータ。 数字(0-9),英文字,バイナリデータ,漢字コード。
データが日本語の場合は,UTF-8文字列でURLエンコードしたデータが必要。max.2K(POSTで送る)
choe=<出力エンコードタイプ>オプションQRコードの出力エンコードタイプの指定。以下が可能:
UTF-8(デフォルト)
Shift_JIS
ISO-8859-1
chld=<エラー訂正レベル> or <マージン>オプションエラー訂正レベル:
L - 約7%が復元可能(デフォルト)
M - 約15%が復元可能
Q - 約25%が復元可能
H - 約30%が復元可能
マージン - QRコードのデータ部分の周囲の白い境界線の幅。行単位(ピクセルサイズではない)
(デフォルト):4
chco=<色>オプション作成データの色。RGBの並びで各色ごとに8bit16進数で指定。
(デフォルト):000000
Page Top

Microsoft EXCELで使ってみる anchor.png

以下のVBAマクロをEXCELの標準モジュールに追加する。

Everything is expanded.Everything is shortened.
-
|
|
|
|
!
 
 
 
 
 
 
 
-
!
 
 
 
 
 
 
 
 
 
-
!
 
 
 
-
!
 
 
 
 
 
 
 
 
 
-
!
 
 
-
!
-
!
 
-
!
 
 
 
 
 
'
' 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コード画像が挿入される。

excel.png
Page Top

Google Chart APIの代わりのサービス anchor.png

使えなくなったGoogle Chart APIの代わりになるようなサービス。

Page Top

Online Barcode API anchor.png

Online Bardode 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

curlを使って,直接QRコード画像が得られます。

> curl -o yueno.png "https://bwipjs-api.metafloor.com/?bcid=qrcode&text=https://yueno.net"
Page Top

QuickChart anchor.png

Google Cart APIのようなサービスとしてQuickChartがある。
QRコード以外は,Chart.jsを使用していると思われる。
MicroQRコードには対応していない。

WEB APIとしていつまでサービスしてくれるかは不明だが,オープンソース・ソフトウェアなので,自前のサーバーでも動かすことも可能。

使用例:

https://quickchart.io/qr?size=100&text=https://yueno.net

curlを使って,直接QRコード画像が得られます。

> curl -o yueno.png "https://quickchart.io/qr?size=100&text=https://yueno.net"
Page Top

QR code API anchor.png

QR code APIという,QRコードを作成するWEB APIがあります。
残念ながらMicroQRコードには対応していないようだ。

APIに関するドキュメントは,こちらのページに書かれている。

使い方は簡単です。

https://api.qrserver.com/v1/create-qr-code/?data=https://yueno.net&size=100x100

とすればOK。

curlを使って,直接QRコード画像が得られます。

> curl -o nalux.png "https://api.qrserver.com/v1/create-qr-code/?data=https://yueno.net&size=100x100"

新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ

トップ   凍結 差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 23, today: 1, yesterday: 2
最終更新: 2024-04-09 (火) 12:25:18 (JST) (24d) by yuji