Aspose.OMR FOSS for Python — Frequently Asked Questions
What is the licensing model for Aspose.OMR FOSS for Python?
Aspose.OMR FOSS for Python is distributed under the MIT License. It is free to use, modify, and distribute, including in commercial products, subject to including the original copyright notice.
Can I use it in a commercial product?
Yes. The MIT License permits commercial use without royalties or attribution beyond including the license text.
How do I install Aspose.OMR FOSS for Python?
git clone https://github.com/aspose-omr-foss/Aspose.OMR-FOSS-for-Python.git
cd Aspose.OMR-FOSS-for-Python
pip install -e .What Python versions and dependencies does it require?
Python 3.10 or later. It depends on three packages — numpy, opencv-python, and Pillow — all installed automatically by pip. No native OMR hardware or external services are required.
What can I generate with it?
OMR answer sheets and forms built from a code-first TemplateConfig element tree (ChoiceBoxConfig, CheckBoxConfig, GridConfig, CompositeGridConfig, AnswerSheetConfig) or from a compact text-markup DSL. OmrEngine.Generate() renders the template into a page image plus a .omr descriptor.
Can I export the generated template as a PDF?
Not in this release. GenerationResult.SaveAsPdf() and MemoryGenerationResult.GetPDF() are both documented as not implemented and raise NotImplementedError. Use the PNG output from Save() or GetImages() instead.
How do I recognize a scanned form?
Load the .omr descriptor with OmrEngine.GetTemplateProcessor(), then call TemplateProcessor.Recognize(source, recognitionThreshold) on a scanned image. For a whole folder of scans, use RecognizeFolder() instead of looping Recognize() yourself.
What formats can I export recognition results to?
RecognitionResult exports to CSV, JSON, or XML via GetCsv(), GetJson(), and GetXml(), each with a matching in-memory stream variant.
Does it support languages other than English?
Not yet for rendering. The template layer defines Arabic, Hebrew, Persian, Urdu, and Bengali writing systems for fidelity with the Aspose.OMR surface, but this release’s render engine is LTR/Western only — RTL rendering and native-digit typesetting are on the upstream roadmap, not yet implemented.
Is multi-select answer validation supported?
Yes, for questions configured with Multiselect disabled. Pass FormValidationLogic.Exception to GetTemplateProcessor() to raise when such a question receives more than one mark; the default, FormValidationLogic.Ignore, accepts the violation silently. GlobalPageSettings.Multiselect defaults to enabled.