cdsmths / laravel-ocr-space
OCR PDF's and images with the OCR.Space API from Laravel
Fund package maintenance!
cdsmths
Installs: 1 916
Dependents: 0
Suggesters: 0
Security: 0
Stars: 90
Watchers: 1
Forks: 9
Open Issues: 1
Requires
- php: ^8.2
Requires (Dev)
- laravel/laravel: ^11.5
- laravel/pint: ^1.18.3
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.5.0||^7.10.0
- orchestra/testbench: ^9.9.0||^8.22.0
- pestphp/pest: ^3.7.1
- pestphp/pest-plugin-arch: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
- pestphp/pest-plugin-type-coverage: ^3.2.3
- phpstan/phpstan: ^1.12.13
- rector/rector: ^1.2.10
- spatie/laravel-ray: ^1.39
README
Laravel OCR Space
Laravel OCR Space is a package that allows you to use the OCR.Space API in your Laravel application for Optical Character Recognition (OCR).
Installation
You can install the package via composer:
composer require cdsmths/laravel-ocr-space
You can publish the config file with:
php artisan vendor:publish --provider="Codesmiths\LaravelOcrSpace\LaravelOcrSpaceServiceProvider" --tag="laravel-ocr-space"
Usage
Get a free Ocr.Space api key
You can get a free api key from ocr.space. This key is required to use the package.
You should add this key to your .env
:
OCR_SPACE_API_KEY="YOUR API KEY"
Parsing an Image file
use Codesmiths\LaravelOcrSpace\OcrSpaceOptions; use Codesmiths\LaravelOcrSpace\Facades\OcrSpace; $filePath = 'path/to/image.jpg'; $result = OcrSpace::parseImageFile( $filePath, OcrSpaceOptions::make(), ); dd($result);
Parsing an Image URL
use Codesmiths\LaravelOcrSpace\OcrSpaceOptions; use Codesmiths\LaravelOcrSpace\Facades\OcrSpace; $imageUrl = 'https://example.com/image.jpg'; $options = new \Codesmiths\LaravelOcrSpace\OcrSpaceOptions(); $result = OcrSapce::parseImageUrl( $imageUrl, OcrSpaceOptions::make(), ); dd($result);
Parsing an base64 encoded image
use Codesmiths\LaravelOcrSpace\OcrSpaceOptions; use Codesmiths\LaravelOcrSpace\Facades\OcrSpace; $base64Image = 'base64 encoded image'; $result = OcrSpace::parseBase64Image( $base64Image, OcrSpaceOptions::make(), ); dd($result);
Parsing an binary image
use Codesmiths\LaravelOcrSpace\OcrSpaceOptions; use Codesmiths\LaravelOcrSpace\Facades\OcrSpace; $binaryImage = file_get_contents('path/to/image.jpg'); // File type is required for binary images $options = OcrSpaceOptions::make() ->fileType('image/jpg'); $result = OcrSpace::parseBinaryImage( $binaryImage, $options, ); dd($result);
Parsing with parseImage method
use Codesmiths\LaravelOcrSpace\OcrSpaceOptions; use Codesmiths\LaravelOcrSpace\Facades\OcrSpace; use Codesmiths\LaravelOcrSpace\Enums\InputType; $filePath = 'path/to/image.jpg'; $result = OcrSpace::parseImage( InputType::File $filePath, OcrSpaceOptions::make(), ); dd($result);
Options
You can pass options to the parseImageFile
, parseImageUrl
, parseBase64Image
, parseBinaryImage
and parseImage
methods.
use Codesmiths\LaravelOcrSpace\OcrSpaceOptions; use Codesmiths\LaravelOcrSpace\Enums\Language; use Codesmiths\LaravelOcrSpace\Enums\OcrSpaceEngine; // All possible options $options = OcrSpaceOptions::make() ->language(Language::English) ->overlayRequired(true) ->fileType('image/png') ->detectOrientation(true) ->isCreateSearchablePdf(true) ->isSearchablePdfHideTextLayer(true) ->scale(true) ->isTable(true) ->OCREngine(OcrSpaceEngine::Engine1);
Response
All methods return an instance of Codesmiths\LaravelOcrSpace\OcrSpaceResponse
which has the following methods:
$response->getParsedResults(); // Returns an Collection `ParsedResult` $response->getOCRExitCode(); // Returns the exit code $response->getIsErroredOnProcessing(); // Returns a boolean $response->getErrorMessage(); // Returns the error message $response->getErrorMessageDetails(); // Returns the error message details $response->getProcessingTimeInMilliseconds(); // Returns the processing time in milliseconds $response->getSearchablePdfUrl(); // Returns the searchable pdf url $response->hasSearchablePdfUrl(); // Returns if the response has a searchable pdf url $response->hasError(); // Returns if the response has an error $response->hasParsedResults(); // Returns if the response has parsed results
Parsed Results
If you want to get value from getParsedResults()
, you can use the following methods:
$parsedResults = $response->getParsedResults(); $parsedResults->first()->getParsedText(), // Returns the parsed text from the first parsed result $parsedResults->first()->getTextOverlay(), // Returns the text overlay from the first parsed result $parsedResults->first()->getFileParseExitCode(), // Returns the file parse exit code from the first parsed result $parsedResults->first()->getErrorMessage(), // Returns the error message from the first parsed result $parsedResults->first()->getErrorDetails(), // Returns the error message details from the first parsed result $parsedResults->first()->getSerializedParsedText(), // Returns the serialized parsed text from the first parsed result
License / Credits
This package our Codesmiths is not affiliated with OCR.Space and is not an official package. It is a wrapper around the OCR.Space API.
The MIT License (MIT). Please see License File for more information.