> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ABBYY FRE for Windows vs. Linux

> Differences between ABBYY FineReader Engine 12 for Windows and Linux — features, API, and platform-specific limitations.

Here you can find the list of differences between ABBYY FineReader Engine 12 for Windows and ABBYY FineReader Engine 12 for Linux.

## Differences

* While the ABBYY FineReader Engine for Windows API conforms to the COM standard and can be used in any development tool supporting COM, the Linux version provides only C/C++ native API and an Objective-C wrapper, so your application needs to be written in C/C++ or Objective-C.
* You need to work with [string properties](/fine-reader/engine/guided-tour/advanced-techniques/programming-aspects/working-with-properties) using FREngineAllocString and FREngineFreeString functions instead of SysAllocString or SysFreeString.
* Distribution packages for Windows and Linux platforms are different. See details in [ABBYY FineReader Engine Distribution Kit](/fine-reader/engine/distribution/distribution-windows/distribution-kit).
* The IsSharedCPUCoresMode parameter of the [InitializeEngine](/fine-reader/engine/api-reference/functions/initializeengine-function) function and [SetCurrentLicense](/fine-reader/engine/api-reference/engine-object-iengine-interface/supplementary-methods/setcurrentlicense-method) method is ignored.
* The [IEngine::OpenImageFileFromMemory](/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/openimagefilefrommemory-method), [IFRDocument::AddImageFileFromMemory](/fine-reader/engine/api-reference/document-related-objects/frdocument/addimagefilefrommemory-method) methods receive two parameters instead of one HGLOBAL handle — a pointer to the memory block and an \_\_int64 variable equal to image size.
* Image documents and page layouts are always unloaded to disk and cannot be kept in memory only:
  * [IFRDocument::PageFlushingPolicy](/fine-reader/engine/api-reference/document-related-objects/frdocument#pageflushingpolicy) property value is ignored
* The methods working with memory image formats (Raw, Bitmap, DIB) are not implemented: [IImage::EstimateBitmapSize](/fine-reader/engine/api-reference/image-related-objects/image/estimatebitmapsize-method), [IImage::GetBitmap](/fine-reader/engine/api-reference/image-related-objects/image/getbitmap-method), [IEngine::OpenBitmap](/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/openbitmap-method), [IEngine::OpenBitmapBits](/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/openbitmapbits-method), [IEngine::OpenDib](/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/opendib-method) [IEngine::PrepareBitmap](/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/preparebitmap-method), [IEngine::PrepareBitmapBits](/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/preparebitmap-method), [IEngine::PrepareDib](/fine-reader/engine/api-reference/engine-object-iengine-interface/processing-methods/preparedib-method), [ITrainingImage::SetBitmapBits](/fine-reader/engine/api-reference/image-related-objects/trainingimage/setbitmapbits-method).

## Unsupported functionality

The following functionality is not supported:

* IEngine::ParentWindow, IEngine::ApplicationTitle
* IEngineLoader, InprocLoader, OutprocLoader, IHostProcessControl
* Parallel processing (IEngine::MultiProcessingParams, MultiProcessingParams, MultiProcessingModeEnum, IParallelProcessingCallback), FineReader Engine Processor module (FREngineModuleEnum::FREM\_FREngineProcessor)
* Batch Processor and related interfaces (BatchProcessor, IImageSource, IFileAdapter, IAsyncProcessingCallback)
* WDP, WIC, DjVu input image formats (IFF\_WdpBw, IFF\_WdpGray, IFF\_WdpColor, IFF\_Wic, IFF\_DjVuBw, IFF\_DjVuGray, IFF\_DjVuColor in the ImageFileFormatEnum enumeration)
* Opening Office formats (OfficeConversionSettings, OfficeConverters, OfficeConvertersTypeEnum, IPrepareImageMode::OfficeConversionSettings, Opening Office Formats module)
* Methods for saving into memory and loading from memory which use HGLOBAL in Windows version:
  * SaveToMemory, LoadFromMemory methods of so-called persistent objects
  * IImageDocument::SaveToMemory, IEngine::LoadImageDocFromMemory methods
  * IPDFAttachments::AddFromMemory, IPDFAttachment::SaveToMemory
* Scanning:
  * IEngine::CreateScanManager, ScanManager
  * IScanCallback
  * ScanSources, ScanSource, ScanSourceSettings, ScanSourceCapabilities
  * ScanSourceApiTypeEnum, ScanRotationAngleEnum, ScanPaperSizeEnum, ScanColorModeEnum, ScanCompressionTypeEnum, ScanBrightnessControlEnum, ScanPaperFeedModeEnum, ScanPauseModeEnum, ScanSourceStatusEnum
  * Scanning license module
* Network Licensing service:
  * ILicensingConnectionRecoveryCallback
  * IEngine::SetLicensingConnectionRecoveryCallback
  * IEngine::RestartLicensing
* IDictionary::Edit
* IPrepareImageMode::RasterizeFreeText
* Pattern training GUI:
  * IEngine::EditUserPattern
  * IRecognizerParams::TrainUserPatterns
  * UserPatternsTraining license module
* Visual Components and related FineReader Engine API:
  * autoanalysis blocks (IAutoAnalysisBlock, BlockTypeEnum::BT\_AutoAnalysis)
  * ILayout::VisualBlocks
  * AvailableVisualComponentsFlags and ILicense::AvailableVisualComponents
* Special predefined languages are not currently available

## See also

[Specifications](/fine-reader/engine/specifications)

[What's New in ABBYY FineReader Engine 12](/fine-reader/engine/specifications/whats-new)

[ABBYY FineReader Engine 12 and 11 compatibility](/fine-reader/engine/specifications/backward-compatibility-issues/version-11)
