# Tendoc OCR用サーバーとの通信フォーマット ## つくるもの - 画像のあるパスを渡すと、その画像をJSON形式にまとめて返すメソッド(形式は以下参照) - JSONを受け取ってHTTP REQUESTして返答を受け取り、返すメソッド ## Request - POSTで行うものとする - JSONで送信する - 送るJSON形式は以下のようなものとする ``` { "data":{ "type":"Image", "body":[BASE64形式の画像] } } ``` - データの中に`type`というKeyを持ったデータと`body`というKeyを持ったデータがある。 - こちらから送るのは画像のみなので、`type`は`Image`で固定。 - 上の例の通り、画像はBASE64形式に変換してJSONに格納する。 - 参考 : https://qiita.com/myzktkyk/items/fac0ab281270d826e9cc - 画像ファイルはいずれスキャナ部分とマージした際に読み込めるようにする。 - OCRのサーバーもいずれインターネット上に立てるが、そのアドレスは、仮に`192.168.1.1:8000`であるとする。 ## Response - JSON形式で送られてくる。 - 認識したものが画像(表など)かテキストかによって、OCRしたテキストあるいは画像が格納されて返ってくる。 - 形式は以下のようなものとする ``` { "data": [ { "type":"Text", "body":"文字列hogehoge" }, { "type":"Title", "body":"見出し部分の文字列fugafuga" }, . . . { "type":"Text", "body":"文字列mokemoke" } ] } ``` - データの中に`type`というKeyを持ったデータと`body`というKeyを持ったデータがある。(REQUEST側と同じ) - このtypeはこのデータがテキストか画像かを判別する。 - Imageだった場合画像が、Textだった場合OCRした文字列が入っている。 - 現段階の仕様では、***文字列が入っていた場合のみ文字列を返し、画像が入っていた場合何も返さなくて良い*** 仕様として実装する。(なのでstring型のメソッドになるはずです)