Thanks to visit codestin.com
Credit goes to github.com

Skip to content

otiai10/gosseract

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gosseract OCR

Go Test Docker Test BSD Test Windows Test codecov Go Report Card License: MIT Go Reference

Golang OCR package, by using Tesseract C++ library.

OCR Server

If you need an OCR server or want to see a working example of this package, there is a ready-made server application, which is very easy to deploy!

👉 https://github.com/otiai10/ocrserver

Example

package main

import (
	"fmt"
	"github.com/otiai10/gosseract/v2"
)

func main() {
	client := gosseract.NewClient()
	defer client.Close()
	client.SetImage("path/to/image.png")
	text, _ := client.Text()
	fmt.Println(text)
	// Hello, World!
}

Installation

macOS

brew install tesseract
go get -t github.com/otiai10/gosseract/v2

Linux (Debian/Ubuntu)

sudo apt-get install -y libtesseract-dev libleptonica-dev tesseract-ocr-eng
go get -t github.com/otiai10/gosseract/v2

Please check this Dockerfile to get started. Alternatively, you can deploy the pre-existing Docker image by invoking docker run -it --rm otiai10/gosseract.

Windows

Windows support requires vcpkg and MinGW-w64:

# Install Tesseract via vcpkg
vcpkg install tesseract:x64-windows

# Create MinGW import libraries from vcpkg DLLs
cd C:/vcpkg/installed/x64-windows/bin
gendef tesseract55.dll leptonica-1.87.0.dll
dlltool -d tesseract55.def -l libtesseract.a -D tesseract55.dll
dlltool -d leptonica-1.87.0.def -l libleptonica.a -D leptonica-1.87.0.dll
mv *.a ../lib/

# Download language data
mkdir C:/tessdata
curl -L -o C:/tessdata/eng.traineddata https://github.com/tesseract-ocr/tessdata/raw/main/eng.traineddata

Set environment variables before building:

export CGO_ENABLED=1
export CC=C:/mingw64/bin/gcc.exe
export CGO_CFLAGS="-IC:/vcpkg/installed/x64-windows/include"
export CGO_LDFLAGS="-LC:/vcpkg/installed/x64-windows/lib"
export TESSDATA_PREFIX="C:/tessdata"
export PATH="/c/mingw64/bin:/c/vcpkg/installed/x64-windows/bin:$PATH"

For detailed troubleshooting, see knowledge/windows-support.md.

Test

In case you have tesseract-ocr installed on your local environment, you can run the tests with:

% go test .

If you DON'T want to install tesseract-ocr on your local environment, run ./test/runtime which utilises Docker and Vagrant to test the source code on some runtimes.

% ./test/runtime --engine docker
% ./test/runtime --engine vagrant

Check ./test/runtimes for more information about runtime tests.

Note: Clear Linux support was removed in January 2026 as Intel discontinued the distribution in July 2025.

Note: Arch Linux support was removed in January 2026 as the official image does not provide ARM64 architecture support.

Issues

About

Go package for OCR (Optical Character Recognition), by using Tesseract C++ library

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Contributors 32