JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 177
  • Score
    100M100P100Q101568F
  • License MIT

11 MB Tesseract (with English training data) to fit inside AWS Lambda compressed with Brotli

Package Exports

  • @shelf/aws-lambda-tesseract

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@shelf/aws-lambda-tesseract) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

aws-lambda-tesseract Tesseract

11 MB Tesseract (with English training data) to fit inside AWS Lambda compressed with Brotli

Inspired by chrome-aws-lambda & lambda-scanner-ocr

Install

$ yarn add @shelf/aws-lambda-tesseract

How does it work?

This package contains an archive with Tesseract 4.0 beta compiled for usage in AWS Lambda environment.

When a Lambda starts, it unpacks an archive with a binary to the /tmp folder and makes sure it's done only once per Lambda cold start.

Usage

const {getTextFromImage, isSupportedFile} = require('@shelf/aws-lambda-tesseract');

module.exports.handler = async event => {
  // assuming there is a photo.jpg inside /tmp dir
  // original file will be deleted afterwards

  if (!isSupportedFile('/tmp/photo.jpg')) {
    return false;
  }

  return getTextFromImage('/tmp/photo.jpg');
};

isSupportedFile checks that file has image-like file extension and it's not in the list of unsupported by Tesseract file extensions.

Compile It Yourself

See compile-tesseract.sh & compress-with-brotli.sh files

See Also

License

MIT © Shelf