PHP library for communicating with the Aspose.OMR Cloud API

20.3 2020-03-03 16:53 UTC

This package is not auto-updated.

Last update: 2022-11-24 03:10:47 UTC


Packagist Version Packagist Downloads Packagist PHP Version Support GitHub license GitHub last commit

PHP REST API for OMR Processing

Aspose.OMR for Cloud is a REST API that helps you to perform optical mark recognition in the cloud. We provide a series of SDKs. Along with that, you can get binaries to start working immediately and recognize various OMR forms.

Developers can embed optical recognition in any type of application to extract data from images of tests, exams, questionnaires, surveys, etc. In the repository you can find examples on how to start using Aspose.OMR API in your project.

OMR Processing Features

  • Perform recognition of scanned photos and images for OMR operations.
  • Ability to perform OMR on rotated & perspective (within 25 deg) photos.
  • Extract & recognize human-marked data from scanned tests, exams, surveys, etc.
  • Supports the export of OMR results to CSV file format.
  • Use textual markup to generate OMR templates, generate surveys, and test sheets.
  • Availability of GUI application for managing OMR templates.
  • Specify the number of OMR based questions & answers in the template.
  • Availability of GUI OMR editor as a cloud client.
  • Provide JSON rules to perform OMR answer grading.
  • Clip an area of interest from an image, save it as JPEG & perform OMR on it.
  • Perform highly accurate optical mark recognition (OMR).

Save OMR As


Read OMR Formats



You can perform tasks out of the box without writing a single line of code with our GUI client. You can also refer to the client documentation.

Using OMR Cloud API in your Php projects

This PHP package is automatically generated by the Swagger Codegen project:

  • API version: 1.1
  • Build package: io.swagger.codegen.languages.PhpClientCodegen


PHP 5.6 and later

PHP 5.6/Windows:

  • Please make sure that local repository path and all paths of all required packages do not exceed maximum length of a path (usually 255 symbols).
  • Aspose.OMR for Cloud use Guzzle library to perform REST requests. Guzzle framework uses cURL (libcurl) as transport library. On windows platform you can face problems with accessing https resources depending on libcurl version you are using.
    • If you are using libcurl built with OpenSSL, you need to download CA Certificates and update your php.ini:
    curl.cainfo="<full path to cacert.pem file>"
    openssl.cafile="<full path to cacert.pem file>"
    • If you are using libcurl built with WinSSL, you are ready to go becuase WinSSL uses windows certificates store

OpenSSL and WinSSL based libcurl versions can be downloaded from here. Just choose your platform (x86 or x64) and OpenSSL (look for ssl string in the file name) or WinSSL (look for winssl string in the file name)


Clone repository

Clone aspose-omr-cloud with submodules:

git clone --recurse-submodules


To install the bindings via Composer, add the following to composer.json:

  "repositories": [
      "type": "git",
      "url": ""
  "require": {
    "aspose/aspose-omr-cloud": "*@dev"

Then run composer install

Manual Installation

Download the files and include autoload.php:

    require_once('/path/to/Aspose.OMR for Cloud/vendor/autoload.php');

Optional requirements

To take full advantage of Aspose.OMR for Cloud, aspose/storage-sdk-php is required. You may refer to official Aspose Storage SDK to get more information.


Receive Cloud Keys

Aspose.Cloud credentials are required to use Aspose.OMR for Cloud API. You can acquire App SID and App Key by registrating at Aspose Cloud Dashboard. It will take only a couple of minutes.

Update submodule

Make sure you've cloned aspose-omr-cloud-demo-data submodule, that contains all data required to run demo. In case you are missing submodules use the following git commands to initialize and update them:

git submodule init
git submodule update --remote --merge

Code example

You can check out OMR Demo project to get started with Aspose.OMR for Cloud.

Documentation for API Endpoints

All URIs are relative to

Class Method HTTP request Description
OmrApi postRunOmrTask POST /omr/{name}/runOmrTask Run specific OMR task

Documentation For Models


Library uses OAUTH2 internally

Aspose.OMR Cloud SDKs in Popular Languages

.NET Java PHP Python Ruby Node.js
GitHub GitHub GitHub GitHub GitHub GitHub
NuGet Maven Composer PIP GEM NPM

Product Page | Documentation | API Reference | Code Samples | Blog | Free Support | Free Trial|