Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
In this article, you will learn how to build 2 simple Java applications for creating and recognizing a simple questionnaire with Aspose.OMR for Java.
While our OMR application requires minimal coding, the underlying process is a bit more complex than the typical Hello World. Let’s look at the necessary steps to be taken.
Aspose.OMR for Java not only performs recognition, but also allows you to design OMR forms of any layout and complexity. The structure and layout of the questionnaire (template source) is defined in a plain-text file that uses a special notation. You can create it with any text editor, including Notepad.
?text=Hello, World!
font_style=bold
font_size=24
#How are you doing today?
() Pretty good, thanks! () I won't respond until I see my lawyer.
For the purposes of this article, there is no need to delve into the full template syntax. Let’s just take a look at its key building blocks:
?text=
keyword is rendered as a simple paragraph. You can optionally format it by adding layout attributes (font, style, and the like) on the lines immediately following the text. Each attribute definition must be preceded by a tab character.#
). The hash itself is not rendered.Save the template source somewhere on you disk under the name template.txt. You will need it on the next step.
Once you have finished with the questionnaire structure and layout, let’s build a simple utility that generates a printable form from it.
OmrEngine engine = new OmrEngine();
GenerationResult res = engine.generateTemplate("source.txt");
res.Save("target", "hello");
Full listing:
OmrEngine engine = new OmrEngine();
GenerationResult res = engine.generateTemplate("source.txt");
res.Save("target", "hello");
Run the application. If the template is correct, you should get 2 files in bin\Debug directory of the project:
Let’s take a break from the computer and get back to the good old pen and paper.
Now we are ready for what OMR stands for – optical mark recognition of machine-readable forms.
OmrEngine engine = new OmrEngine();
TemplateProcessor processor = engine.getTemplateProcessor("hello.omr");
RecognitionResult result = processor.recognizeImage("completed-form.png");
String resultCsv = result.getCsv();
System.out.println(resultCsv);
Full listing:
OmrEngine engine = new OmrEngine();
TemplateProcessor processor = engine.getTemplateProcessor("hello.omr");
RecognitionResult result = processor.recognizeImage("completed-form.png");
String resultCsv = result.getCsv();
System.out.println(resultCsv);
Run the application. You should see results of the recognition in the console output:
Element Name,Value,
Question1,"A"
Congratulations! You have taken the first steps in optical mark recognition technology. Read the Developer reference and API reference for details on developing advanced OMR forms and applications with Aspose.OMR for Java.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.