Luke
no message
765cf0f
raw
history blame
1.24 kB
import json
import subprocess
from IdentifyModel.cardModel import parse_id_card
from Plan.AiLLM import extract_entities
def pytesseractJs_recognition(validation_type, image, temp_path, file_name, language):
try:
# 使用 subprocess 執行 JavaScript 代碼,傳遞語言參數
result = subprocess.run(
['node', 'node_app/pytesseractJsOCR.js', image, language, temp_path + file_name],
capture_output=True,
text=True
)
# print(result.stdout) # 打印子進程的標準輸出
print(' ###### result.stderr:' + result.stderr) # 打印子進程的錯誤輸出
with open(temp_path + file_name, 'r') as file:
out_ocr_text = file.read()
entities = extract_entities(out_ocr_text)
parsed_result = parse_id_card(out_ocr_text, validation_type, entities)
print(' ###### parsed_result:' + str(parsed_result))
# 確保返回的數據是有效的 JSON
json_result = json.dumps(parsed_result)
print(' ###### json_result:' + str(json_result))
return json_result
except Exception as e:
print(' ###### [ERROR] pytesseractJs_recognition Exception:' + str(e))
return str(e)