Skip to content

Changes between versions 15 and 16

This chapter summarizes the changes made to successive packages and to the API between versions 15 and 16.

Although this list is intended to be as exhaustive as possible, the extent of the changes to the API is such that it may be difficult to write every updated method or property.

PlatformiDRS 15iDRS 16
All platforms
Renaming of iDRS libraries, samples, and documentationxxx-15xxx-16
macOS
The names of internal frameworks have been aligned with other platforms and transformed into dylibs, with the exception of drsasian2.frameworkdrsasian2.frameworkidrsasian216.framework
ibcode.frameworklibidrsbarcode16.dylib
idrsbarcodeext15.frameworklibidrsbarcodeext16.dylib
idrsbarcodeextwrapper15.frameworklibidrsirisbarcodeextwrapper16.dylib
idrsbarcodewrapper15.frameworklibidrsirisbarcodewrapper16.dylib
idrsdmtx15.frameworklibidrsdmtx16.dylib
idrsdmtxbarcodewrapper15.frameworklibidrsdmtxbarcodewrapper16.dylib
irisimp.frameworklibidrsimp16.dylib
idrsjbig215.frameworklibidrsjbig216.dylib
idrsjpeg15.frameworklibidrsjpeg16.dylib
DRS15.frameworklibidrsocr16.dylib
idrspdf15.frameworklibidrspdf16.dylib
idrspng15.frameworklibidrspng16.dylib
prepro.frameworklibidrsprepro16.dylib
idrstiff15.frameworklibidrstiff16.dylib
idrszlib15.frameworklibidrszlib16.dylib
irisjp2k.frameworklibidrsjpeg2k16.dylib
format6.frameworklibidrsdocout16.dylib
Android and iOS
Sample Image2Html15Removed
Windows
redist folderRemoved
idrsbarcodeevoi.dllidrsbarcodeevoi16.dll
TypeName → StatusGood-to-know
Namespace(C++) DOCUMENT_OUTPUT → Removed
ClassCAdvancedBinarize → RemovedMerged with CBinarize class and transformed method parameters as properties
ClassCAdvancedBinarizeCallback → Renamed to IBinarizeCallback
ClassCAdvancedDecision → Removed
ClassCAdvancedDespeckle → RemovedMerged with CDespeckle class and transformed method parameters as properties
ClassCAdvancedDespeckleCallback → Renamed to IDespeckleCallback
ClassCBarcodeContext → UpdatedTransformed methods parameters as properties Property GlobalProcessing removed (will always be activated) Property DetectSlantedBarcodes removed (will always be activated) Property Workdepth moved to class CBarcodeParams
ClassCBarcodeDetailedParameters → Removed and replaced with CBarcodeEngineConfig (for engine-specific properties) and CBarcodeParams (for generic properties)
EnumIDRS_BARCODE_ENGINE_PRIORITY_CHANGE → Removed and replaced by the ordering of CBarcodeEngineConfig instances in CBarcodeParams.EngingConfigs array.
EnumIDRS_BARCODE_ENGINE_ON_ERROR_BEHAVIOUR → Removed and replaced by boolean value (see CBarcodeParams.RaiseEngineErrors).
EnumIDRS_BARCODE_AUTOMATIC_ENCODING_DETECTION → Renamed to BarcodeEncoding
ClassCBarcodeEngine → Renamed to IBarcodeEngine
EnumBarcodeEngineIdentifier → New/CreatedBarcode engine definitions have been moved to this new Enum. - IDRS_BARCODE_ENGINE_IRIS_UID moved to BarcodeEngineIdentifier.Standard - IDRS_BARCODE_ENGINE_EVO_I_UID moved to BarcodeEngineIdentifier.Advanced - IDRS_BARCODE_ENGINE_DATAMATRIX_UID moved to BarcodeEngineIdentifier.Datamatrix - IDRS_BARCODE_ENGINE_ADVANCED_QR_UID moved to BarcodeEngineIdentifier.Extra2d - IDRS_BARCODE_ENGINE_IRIS_WHITE_PIXELS_DESPECKLE_UID moved to BarcodeEngineIdentifier.StandardDespeckle - IDRS_BARCODE_ENGINE_ADV_QR_WHITE_PIXELS_DESPECKLE_UID moved to BarcodeEngineIdentifier.Extra2dDespeckle - IDRS_BARCODE_ENGINE_IRIS_DITHER_REMOVAL_UID moved to BarcodeEngineIdentifier.StandardUndither - IDRS_BARCODE_ENGINE_ADV_QR_DITHER_REMOVAL_UID moved to BarcodeEngineIdentifier.Extra2dUndither Enum value BarcodeEngineIdentifier.Custom was introduced to represent custom engine identifiers.
EnumIDRS_BARCODE_COLOR_MODE → Removed and replaced with ColorMode
EnumIDRS_BARCODE_CAPABILITY → Renamed to BarcodeCapability
EnumIDRS_BARCODE_RECOGNITION_MODE → Renamed to BarcodeRecognitionMode
EnumIDRS_BARCODE_SESSION_PARAMETER → Renamed to BarcodeSessionParameter
ClassCCsvOutputParameters → Removed
ClassCDocumentOutputLite → Removed
ClassCDocumentSplitParameters → Renamed to CDocumentSeparationOptionsMethods of the class have also been changed to property-like parameterization
ClassCEditableRtfOutputParameters → Removed
ClassCExcelMLOutputParameters → Removed
ClassCIhqcParameters → Removed
ClassCImageOptionsCustom → Removed
ClassCImageCompressionParameters → Removed
ClassCLayoutDocumentOutputParameters → Removed
Class(C++) CPageLayer → Removed and replaced with CRecognitionZoneArray (i.e. TObjPtrArray<CRecognitionZone>)
ClassCSearchablePdfOutputParameters → Removed
ClassCWordMLOutputParameters → Removed
ClassCWordProcessorOutputParameters → Removed
ClassCXpsImageCompressionParameters → Removed
ClassCXpsOutputParameters → Removed
ClassCIDRSLicenseOcr → Removed
ClassCPdfAttachmentsList → Removed and replaced with CAttachmentArray (i.e. TObjPtrArray<CAttachment>)
ClassCBarcodeDetailedParameters → Removed and replaced with CBarcodeEngineConfig and CBarcodeParams
ClassCBarcodeEngineSet → Removed
ClassCBarcodeEngineExtraOperationsSet → Removed
ClassCBarcodeResult → Removed and replaced with BarcodeTypeArray data type
ClassCBarcodeResultSet → Removed and replaced with CBarcodeArray
ClassCBarcodeSet → Removed and replaced with BarcodeTypeArray data type
ClassCBaseContext → Removed
ClassCMultiContext → RemovedUsage of multiple contexts is allowed through COcrZonalParams and CBarcodeZonalParams
ClassCCustomAlgorithm → Removed
ClassCDeskewOptions → Removed
ClassCFastReader → Removed
ClassCFastReaderCallback → Removed
ClassCGrid → Removed
ClassCLanguageSet → Removed and replaced by LanguageArray
ClassCLayoutAnalysisCallback → Removed
ClassCMeaningElt → Removed
ClassCMeaningEltBCode → Removed
ClassCMeaningEltCell → Removed
ClassCMeaningEltFmtNfo → Removed
Class`CMeaningEltTxt → Removed
ClassCZoneMeaning → Removed
ClassCOcrContextAdvancedParameters → RemovedThe parameters have been moved to COcrContext
ClassCOcrContextHelper → Removed
ClassCPageContent from iDRS 15 → RemovedCPageContent2 from iDRS 15 renamed to CPageContent in iDRS 16
ClassCPageParagraphListStyle → Renamed to CPageStyleParagraphList
ClassCPageRecognition → RemovedThe features are now part of CTextRecognition, CBarcodeDetection and CPageAnalysis
ClassCPageSection CPageSectionArray → RemovedClasses CPageSection2, CPageSection2Array renamed to CPageSection and CPageSectionArray
ClassCPageZoneBarcode → RemovedThe detected barcodes are now added the the page metadata.
ClassCProgress → Removed and replaced with IProgressPageProcessing
ClassCRecognitionZone → Removed and replaced with COcrZonalSettings/ COcrZoneDescription
ClassCTextProperties → RemovedThe class was used to store enums containing text properties. Now the enums have been modernized to enum class and are part of EnumDefinitions.h
ClassCPdfIhqcParameters CPdfImageCompressionParameters → Removed and replaced with CPdfCompressionOptionsMost of iHQC’s advanced parameters have been removed, as the default setting gives the best results in most cases. The only relevant parameters were the compression formats to be used (previously selected via the iHQC compression level), and the compression quality which is now directly available in CPdfCompressionOptions.
ClassCBinarizeOptions → Removed
ClassCDocumentOutput → Removed and replaced with CDocumentWriterCDocumentSplitParameters arguments of Save method overloads has been moved as property of CPdfOutputParams class
ClassCDocumentOutputPage → Removed and replaced with CDocumentWriter
Interfaces and ClassesCPageSet IPageQueue CMemoryPageSet CPersistentPageSet CRangedPageQueue → Removed and replaced with IPageCollection and CDefaultPageCollection
ClassCInterpolation → Removed and merged with CResize
ClassCImageProcessingOptions → RemovedFeature now available via CPage.WorkImage property
ClassCMultithreadedException → Removed
ClassCIhqcEnabledOutputParameters → Removed
ClassCPageFont → ModifiedType of properties FontFamilyName and FontPostscriptName changed from IDRS_CSTR buffer to idrs_string (.NET) Properties IsBold, IsItalic and IsAsian renamed to Bold, Italic and Asian
ClassCPageGraphicShape → ModifiedProperty RotationAngle removed Property BoundingPolygon replaced by read-only BoundingBox, and type changed from CPolygon to IDRS_RECT
ClassCDeskewOptions → ModifiedEnum Policy renamed to DeskewPolicy The values of the renamed enum DeskewPolicy are prefixed by Deskew. (e.g. PolicyNoneDeskewPolicyNone)
ClassCCertificationParameters → Renamed to CDigitalSignature
ClassCDocumentOutputParameters → Renamed to COutputParams
ClassCDocxOutputParameters → Renamed to CDocxOutputParams
ClassCEncryptionParameters → Renamed to CEncryptionOptions
ClassCEpubOutputParameters → Renamed to CEpubOutputParams
ClassCFontDataProviderCallback → ModifiedMethod removed: GetFontData with argument IDRS_FONT_TYPE GetFontData: takes now a CStream object in argument instead of CMemoryStream
ClassCHtmlOutputParameters → Renamed to CHtmlOutputParams
ClassCImageLoadOptionsPdf → ModifiedMethods Get/SetLoadTextContent() renamed to Get/SetLoadPageContent()
ClassCLngUtils → ModifiedMethod ComputeCharsetLen() renamed to ComputeCharsetSize()
ClassCMultiContext → ModifiedMethods removed: Get overloads taking COcrContext and CBarcodeContext as reference parameters Method Get taking a CBaseContext as reference parameter renamed to GetAt, now returns the CBaseContext instance Method GetByStyleId now returns the CBaseContext instance
ClassCOpenDocumentTextOutputParameters → Renamed to COdtOutputParams
ClassCPageGraphicShapeLine → ModifiedProperties Center, Width, Height changed to Point1, Point2 and LineWidth
ClassCPageStyleTextElement → ModifiedProperties IsXxx renamed to Xxx (IsUnderlined, IsBold, IsItalic, IsFixedFont, IsDropCapital, IsSuperscript, IsSubscript, IsUnderlineStart, IsUnderlineEnd)
ClassCPageTextElement → Modified(C++) Type of property TextValue changed from IDRS_CWSTR to idrs_string Property ConfidenceLevel renamed to OcrConfidence and type changed to IDRS_UINT Property AdvancedConfidence renamed to OcrLocalScore and type changed to IDRS_UINT
ClassCPageTextElementAlternative → ModifiedProperty Solution renamed to TextValue and (C++) type changed from IDRS_CWSTR to idrs_string Property ConfidenceLevel renamed to OcrConfidence and type changed to IDRS_UINT Property AdvancedConfidence renamed to OcrLocalScore and type changed to IDRS_UINT
ClassCPageZone → ModifiedMethod SetBoundingPolygon(const IDRS_RECT&) removed Property ZoneContextLinkId removed Property PaddingBox renamed to PaddingInfo and type changed to PaddingInfo Property TextDistances removed (redundant with PaddingInfo)
ClassCPdfAttachment → Renamed to CAttachmentEnum FileType renamed to AttachmentType
ClassCPdfCustomMetadataResource CPdfCustomMetadataProperty CPdfCustomMetadataContainer(C++) Class properties manipulates idrs_string arguments instead of IDRS_CSTR buffers
ClassCPdfOperation(C++) ApplySignature methods receive idrs_string arguments instead of IDRS_TSTR or char buffers
ClassCPdfOutputParameters → Renamed to CPdfOutputParams
ClassCPptxOutputParameters → Renamed to CPptxOutputParams
ClassCRecognitionZone → ModifiedMethod SetRecognitionZone(const IDRS_RECT&) renamed to SetRecognitionRectangle(const IDRS_RECT&)
ClassCRtfOutputParameters → Renamed to CRtfOutputParams
ClassCTextOutputParameters → Renamed to CTextOutputParams
ClassCXlsxOutputParameters → Renamed to CXlsxOutputParams
ClassCPerspective → ModifiedMethod ApplyCorrection renamed to CorrectPerspective Property BoundaryCorners renamed to CropToDocumentArea * (C++) + Method Create takes a CIDRS instance in argument + Method GetCorners renamed to DetectDocumentCorners * (.NET) + Constructor takes a CIDRS instance in argument + Property Corners transformed into method DetectDocumentCorners * Method Correct renamed to ApplyCorrection
ClassCPageContent2 → Modified* (C++) Methods Get/SetOriginalRotation moved to class CPageMetadata * (.NET) Property OriginalRotation moved to class CPageMetadata * Methods Load and Save moved to class CSerialization
ClassCPageCustomData → Modified(C++) Type of property CustomData changed from IDRS_PBYTE buffer + size to CMemoryBuffer
ClassCBlankPageDetection → Modified* Enum eDetectionMode moved out of class scope, and renamed to BlankPageDetectionMode + Values updated to comply with CamelCase convention * (C++) + Methods Get/SetBlankDetectionMode() renamed to Get/SetDetectionMode() + Methods Get/SetSensitivity() renamed to Get/SetDetectionSensitivity() * (.NET) + Property BlankDetectionMode renamed to DetectionMode + Property Sensitivity renamed to DetectionSensitivity
ClassCMetadataInfo → ModifiedEach metadata item is now available as a separate property, instead of being supplied by generic Get/Set methods taking a MetadataType value.
ClassCPageMetadata → ModifiedProperty Bookmarks moved to CDocumentMetadata class.
ClassCPdfOutputParams → ModifiedProperties DigitalSignatures and AttachmentArray moved to CDocumentMetadata class.
ClassCImageFileFormat → Removed and replaced with enum class ImageFormat
ClassCImageOptions → Renamed to CImageSaveOptionssimilarly for its subclasses: * CImageOptionsBmp renamed to CImageSaveOptionsBmp * CImageOptionsJpeg renamed to CImageSaveOptionsJpeg * CImageOptionsJpeg2000 renamed to CImageSaveOptionsJpeg2000 * CImageOptionsPdf renamed to CImageSaveOptionsPdf * CImageOptionsPng renamed to CImageSaveOptionsPng * CImageOptionsTiff renamed to CImageSaveOptionsTiff
ClassCMemoryBuffer → ModifiedMethods Lock and Unlock are removed.
ClassCPage → ModifiedMethod LoadSourceImage is removed. This feature is now available in CImageIO.
ClassCImage → ModifiedConstructors from a path or stream have been removed, as have the Load and Save methods. This feature is now available in CImageIO.
Enum(C++) IDRS_FONT_TYPE → Removed
Enum(.NET) FontType → Removed
EnumMetadataType → Removed
EnumTEXT_SPACING → Removed
EnumTEXT_DIRECTION → Removed
EnumIDRS_BARCODE_TYPE → Removed and replaced with enum class BarcodeType
EnumIDRS_MEMORY_ALLOCATION → Removed
EnumIDRS_FONT_SET → Removed and replaced with enum class `FontInfoComputation
EnumCPageGraphicShape::GraphicShapeType → Removed and replaced with enum class GraphicShapeType
EnumCPdfCustomMetadataResource:: ePdfCustomMetadataResourceType → Removed and replaced with enum class PdfCustomMetadataResourceType
EnumCTextProperties::LIST_STYLE → Removed and replaced with enum class ListStyle
EnumCTextProperties::PARAGRAPH_TYPE → Removed and replaced with enum class ParagraphType
EnumCTextProperties::HYPERLINK_TYPE → Removed and replaced with enum class Hyperlink
EnumCTextProperties::LIST_TYPE → Removed and replaced with enum class ListType
EnumCTextProperties::TABULATION_LEADER_TYPE → Removed and replaced with enum class TabulationLeader
EnumCTextProperties::VERTICAL_ALIGNMENT → Removed and replaced with enum class VerticalAlignment
EnumCTextProperties::HORIZONTAL_ALIGNMENT → Removed and replaced with enum class HorizontalAlignment
EnumCTextProperties::TEXT_TYPE → Removed and replaced with enum class TextType* TEXT_TYPE_NORMAL is replaced with TextType::Printed * TEXT_TYPE_HANDPRINT_BOX is replaced with TextType::BlockLettersHandwriting * TEXT_TYPE_HANDPRINT_FREE is replaced with TextType::CursiveHandwriting * TEXT_TYPE_DOTMATRIX is removed * TEXT_TYPE_OCRA1 is removed * TEXT_TYPE_OCRB1 is removed * TEXT_TYPE_E13B is removed * TEXT_TYPE_CMC7 is removed
EnumIDRS_ZONE_TYPE → Removed and replaced with enum ZoneTypeIDRS_ZONE_BARCODE has been removed. Barcode results are now part of the page metadata.
EnumeOutputFormat → Renamed to OutputFormatvalue WORDML removed. value XPS removed. value CSV removed. value EXCELML removed.
EnumIDRS_GEOMETRICAL_SHAPE_TYPE → Removed
EnumIDRS_LANGUAGE → Renamed to LanguageAll enum values IDRS_LNG_XXX are updated to Xxx, to comply with CamelCase convention. For example: + * IDRS_LNG_ENGLISHEnglish * IDRS_LNG_IRISH_GAELICIrishGaelic * IDRS_LNG_RUNDIKirundi
EnumIDRS_PAGE_GRAPHIC_SOURCE → Renamed to PageZoneGraphicSource
EnumBookmarksMode → Modified* Value None renamed to Disabled * Value Automatic removed + The feature is now available via method CBookmarksOptions.GenerateBookmarks * Value Enabled added
EnumCharsetCategory → Removed
EnumIDRS_MODULE → Renamed to ModuleUpdate Enum values to comply with CamelCase convention
EnumIDRS_EXTENSION → Renamed to ExtensionEnum values reviewed - See the description of release 16.0.13 for more details.
EnumIDRS_LICENSE_TYPE → Renamed to LicenseTypeUpdate Enum values to comply with CamelCase convention
EnumBarcodeEncoding → ModifiedContains barcode encoding
EnumThreadingMode → ModifiedContains threading options. Note that the number of threads can only be specified using this enum class.
EnumTextDetectionSensivity → ModifiedContains the modes used to specify the amount of text/layout to be detected by the OCR engine.
EnumWorkdepth → ModifiedContains the modes for work depth. Note that the numerical work depth mode is now obsolete.
EnumSkewDetection → ModifiedContains skew detection operating modes.
EnumIDRS_EXPORT_TYPE → Renamed to ExportType* Value IDRS_EXPORT_FORMAT_XML removed (deprecated) * Value IDRS_EXPORT_FORMAT_XML_LIGHT renamed to Xml * Value IDRS_EXPORT_FORMAT_XML_FMT removed (this export format is internal and without any guarantee of backward compatibility) * Value IDRS_EXPORT_FORMAT_XML_ALTO renamed to XmlAlto
EnumIDRS_SEEK_POSITION → Renamed to SeekPosition
PropertyCPolygon.BoundingRect → Renamed to CPolygon.BoundingBox
PropertyResourcesPath (of Class CIDRSLicenseOcr) → RemovedMoved to class CIDRSSetup
PropertyMetadataInfo (of classes CDocxOutputParams, CEpubOutputParams, CHtmlOutputParams, COdtOutputParams, CPdfOutputParams, CPptxOutputParams, CRtfOutputParams, CXlsxOutputParams) → Removed and moved to CDocumentMetadata class
Property(C++) TObjPtrArray.EnableThreadSafety (Get/Set) → Renamed to Synchronized (Is/Set)
MethodCIDRSSetup.GetLicenseInformation() → Removed
MethodCImage.DetectResolution() → Moved to CQualityAssessment.EstimateResolution()
Method(C++) TObjPtrArray.AddTail(const IArrayInterfaceT<T>) → Removed
StructSkewInfo → New/CreatedContains skew information.
StructIDRS_DOC_ADVANCED_CONFIDENCE → Removed and replaced with a single value OcrLocalScore where relevant
StructIDRS_LANGUAGE_CANDIDATE → Removed and replaced with struct LanguageCandidate
StructIDRS_MARGINS → Removed and replaced with struct MarginInfo
StructIDRS_PERSPECTIVE_CORNERS → Removed and replaced with struct PerspectiveCorners
StructIDRS_SKEW_ANGLE → Removed and replaced with struct SkewInfo
StructIDRS_VECTOR → Removed
DefinesIDRS_ZONE_FILE_FORMAT_VERSION_xx → Defines removed and replaced by enum SerializationFormat