Aspose.OMR for .NET 23.2.0 - Release Notes

What was changed

KeySummaryCategory
OMRNET-723Revised element wrapping and clipping settings. The changes are not backward compatible.Enhancement

Known issues and limitations

KeySummaryWorkaround
OMRNET-462Recognition of multi-page PDF and TIFF files causes an error.Scan each page of the filled form into a separate file and recognize them one-by-one.
OMRNET-555Recalculate method results in incorrect processing of ScoreGroup elements (text markup / JSON markup) and CustomAnswerSheet elements (text markup / JSON markup).Use RecognizeImage method with different threshold setting instead of run-time adjustments of recognition accuracy.

Public API changes and backwards compatibility

This section lists all public API changes introduced in Aspose.OMR for .NET 23.2.0 that may affect the code of existing applications.

Added public APIs:

The following public APIs have been added to Aspose.OMR for .NET 23.2.0:

GlobalPageSettings.Overflow

The new page setting Aspose.OMR.Generation.GlobalPageSettings.Overflow controls how to render elements that do not fit on the page or inside the parent container. The following rendering strategies are available:

new Aspose.OMR.Generation.OverflowActions.NoClip();

Overflow content is rendered outside the bounds of the parent element. This can result in content overlapping with other elements or being clipped at page boundaries. This is the default rendering method.

Do not clip content

new Aspose.OMR.Generation.OverflowActions.Clip();

Overflow content will be invisible. Cropping will be done both horizontally and vertically. This may result in some content (images, bubbles, text, and so on) not being presented in the rendered OMR form.

Do not clip content

new Aspose.OMR.Generation.OverflowActions.Wrap();

Content that does not match the parent’s bounds will automatically appear in the next column. This rendering method only applies to multi-column layouts and cannot slice monolithic elements such as images and barcodes.

Move overlapping content on the next column

Updated public APIs:

No changes.

Removed public APIs:

The following public APIs have been removed from Aspose.OMR for .NET 23.2.0:

GlobalPageSettings.Wrap

Aspose.OMR.Generation.GlobalPageSettings.Wrap property and Aspose.OMR.Generation.WrappingPolicy enum are not longer available in the Aspose.OMR for .NET API. Remove them from your code to avoid exceptions.

To continue using automatic column wrapping (former Aspose.OMR.Generation.WrappingPolicy.Column), set the value of Aspose.OMR.Generation.GlobalPageSettings.Overflow property to Aspose.OMR.Generation.OverflowActions.Wrap()

Aspose.OMR.Generation.GlobalPageSettings globalPageSettings = new Aspose.OMR.Generation.GlobalPageSettings() {
	Overflow = new Aspose.OMR.Generation.OverflowActions.Wrap()
};

Usage examples

See the examples below to learn more about the changes introduced in this release:

Wrapping element content between columns

Aspose.OMR.Generation.GlobalPageSettings globalPageSettings = new Aspose.OMR.Generation.GlobalPageSettings() {
	PaperSize = Aspose.OMR.Generation.PaperSize.A4,
	Orientation = Aspose.OMR.Generation.Orientation.Horizontal,
	Overflow = new Aspose.OMR.Generation.OverflowActions.Wrap()
};

Automatic column wrapping