# pip install pyocr pillow
# ref: https://qiita.com/ryome/items/16fc42854fe93de78a23
#  DL from https://github.com/UB-Mannheim/tesseract/wiki for Windows
# set TESSDATA_PREFIX=C:\Program Files\Tesseract-OCR
#   for jpn: dl jpn.traineddata 
#      from https://github.com/tesseract-ocr/tessdata/blob/main/jpn.traineddata
#      copy jpn.traineddata to "C:\Program Files\Tesseract-OCR\tessdata"


import os
import sys
from PIL import Image
import pyocr
import pyocr.builders


infile = 'image (7).png'


# Tesseractのインストールパスを設定
tesseract_path = "C:\\Program Files\\Tesseract-OCR"
#if os.environ.get("TESSDATA_PREFIX", None) is None:
#    os.environ["TESSDATA_PREFIX"] = tesseract_path
if tesseract_path not in os.environ["PATH"]:
    os.environ["PATH"] += os.pathsep + tesseract_path

# OCRツールを取得
tools = pyocr.get_available_tools()
if len(tools) == 0:
    print("OCRツールが見つかりませんでした。")
    sys.exit(1)
tool = tools[0]

# 使用可能な言語を取得
langs = tool.get_available_languages()
print("Available languages: %s" % ", ".join(langs))

# 英語を選択
lang = "eng"   #jp

# 画像を読み込む
image = Image.open(infile)

# 文字認識を実行
text = tool.image_to_string(
    image,
    lang = lang,
    builder=pyocr.builders.TextBuilder()
)

print(text)
