つい最近のことなんですが、AmazonFBA の納品時のミスが多いためか、納品の際に輸送箱の三辺のサイズや重量等のデータ登録が義務付けられました。
とりあえず、輸送箱に連番のシールを貼って、サイズ等を測り、それをいちいち Numbers に入力して、その後、xlsx ファイルをダウンロードして、そこに転記していますが、かなり面倒くさいのです。
出力される FBA ラベルは、tcpdf を使って、連番、例えば、輸送箱が 50 箱ならば、1/50 — 50/50 という風に表示を追加して、貼り間違いや、箱のロストがわかるように工夫しています。
それでふと思ったのが、箱詰めの指示自体を同じようにラベルシールで出力して、そのシールに情報登録用 URL を出力しておき、iPhone でアクセス、ラベルに箱サイズ等を手書きして OCR 処理して入力すればミスが減るのではと思いました。
で、Google Cloud Vision API を使い、PHP で手書き文字の認識を試してみました。
使ってみた画像はこちら。
<?php $apiKey = 'your key'; $content = base64_encode(file_get_contents('./text.jpg')); $requests = ['requests' => ['image' => ['content' => $content], 'features' => ['type' => 'TEXT_DETECTION', 'maxResults' => 10] ]]; $json = json_encode($requests); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'https://vision.googleapis.com/v1/images:annotate?key=' . $apiKey); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST'); curl_setopt($curl, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); curl_setopt($curl, CURLOPT_TIMEOUT, 15); curl_setopt($curl, CURLOPT_POSTFIELDS, $json); $res = curl_exec($curl); $data = json_decode($res, true); curl_close($curl); var_dump($data); ?>
結果ですが。。。
6 0f: LCC3
W 50 636H21 4KG
という感じ。
流石に字が汚いので、微妙なところですが、数字だけならそこそこかもしれません。
ただまあ、いちいち写真を撮影したりする手間を掛けるのなら、普通に打ち込んだ方が早いかもしれません。
今のところ、どうするのがいいのか考えあぐねている状態なので、おいおい煮詰めていこうと思います。