A Serverless plugin to easily add Tesseract OCR engine to your deployment. Builds tesseract for you in a docker container.
npm install --save serverless-tesseract
Add the plugin to your serverless.yml file and configure:
plugins:
- serverless-tesseract
custom:
# This section is optional, as well as all of its keys.
# Defaults are shown in the example.
tesseract:
version: 4.0.0
leptonica_version: 1.76.0
tessdata: "osd eng" # Add any other languages rus, deu, ...
tessdata_url: https://github.com/tesseract-ocr/tessdata/raw/master/
# Other obvious choices are:
# https://github.com/tesseract-ocr/tessdata_fast/raw/master/
# https://github.com/tesseract-ocr/tessdata_best/raw/master/
# The fast ones are used by Ubuntu and Debian by defaultThen run sls deploy or sls package as usual.
This plugins adds tesseract-standalone directory to your build with its executable, libs and tessdata and convenience script tesseract to the root of your project. You may call it directly or add it to path:
LAMBDA_TASK_ROOT = os.environ.get('LAMBDA_TASK_ROOT',
os.path.dirname(__file__))
os.environ["PATH"] = LAMBDA_TASK_ROOT + os.pathsep + os.environ['PATH']This plugin defines commands to manufacture and clean artifacts without packaging them:
sls tesseract create
sls tesseract cleanNote that this plugin uses (Docker Artifacts)[https://github.com/Suor/serverless-docker-artifacts] plugin to function, so you can use that to clean up docker containers and images used to build tesseract:
sls dockart clean-dockerYou need to add serverless-docker-artifacts to your plugins first though.