つい最近のことなんですが、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
という感じ。
流石に字が汚いので、微妙なところですが、数字だけならそこそこかもしれません。
ただまあ、いちいち写真を撮影したりする手間を掛けるのなら、普通に打ち込んだ方が早いかもしれません。
今のところ、どうするのがいいのか考えあぐねている状態なので、おいおい煮詰めていこうと思います。