---
title: "OcrSettings"
canonical_url: "https://www.nutrient.io/api/csharp/settings/vision/advanced/ocr-settings/"
md_url: "https://www.nutrient.io/api/csharp/settings/vision/advanced/ocr-settings.md"
last_updated: "2026-10-08T08:55:57.713Z"
description: "Settings for Ocr. Values fall back through three levels: document → SDK → built-in default."
---

Settings for Ocr. Values fall back through three levels: document → SDK → built-in default. Writes target the document only when set on a document's settings, otherwise the SDK globally when set on SdkSettings.

```csharp

using Nutrient;

```

The SDK creates this class through factory methods or other SDK objects.

## Properties

### DefaultLanguages

```csharp

public string DefaultLanguages { get; set; }

```

Gets or sets the value of DefaultLanguages. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `string`

### DetectLanguageFavorAccuracy

```csharp

public bool DetectLanguageFavorAccuracy { get; set; }

```

Gets or sets the value of DetectLanguageFavorAccuracy. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### DetectLanguageFirstIdentifiedPageDecides

```csharp

public bool DetectLanguageFirstIdentifiedPageDecides { get; set; }

```

Gets or sets the value of DetectLanguageFirstIdentifiedPageDecides. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### DetectLanguageFromDigitalText

```csharp

public bool DetectLanguageFromDigitalText { get; set; }

```

Gets or sets the value of DetectLanguageFromDigitalText. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### DetectLanguageOncePerDocument

```csharp

public bool DetectLanguageOncePerDocument { get; set; }

```

Gets or sets the value of DetectLanguageOncePerDocument. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### DetectLanguagePageFraction

```csharp

public double DetectLanguagePageFraction { get; set; }

```

Gets or sets the value of DetectLanguagePageFraction. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `double`

### DetectLanguagePairWithEnglish

```csharp

public bool DetectLanguagePairWithEnglish { get; set; }

```

Gets or sets the value of DetectLanguagePairWithEnglish. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### DetectLanguageScriptCheck

```csharp

public bool DetectLanguageScriptCheck { get; set; }

```

Gets or sets the value of DetectLanguageScriptCheck. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### DetectLanguageScriptCheckMargin

```csharp

public double DetectLanguageScriptCheckMargin { get; set; }

```

Gets or sets the value of DetectLanguageScriptCheckMargin. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `double`

### DetectLanguageTopGuessFloor

```csharp

public double DetectLanguageTopGuessFloor { get; set; }

```

Gets or sets the value of DetectLanguageTopGuessFloor. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `double`

### EnableOrientationDetection

```csharp

public bool EnableOrientationDetection { get; set; }

```

Gets or sets the value of EnableOrientationDetection. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### EnablePreprocessing

```csharp

public bool EnablePreprocessing { get; set; }

```

Gets or sets the value of EnablePreprocessing. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### EnableSkewDetection

```csharp

public bool EnableSkewDetection { get; set; }

```

Gets or sets the value of EnableSkewDetection. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### EnableTableDetection

```csharp

public bool EnableTableDetection { get; set; }

```

Gets or sets the value of EnableTableDetection. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### Engine

```csharp

public OcrEngine Engine { get; set; }

```

Gets or sets the value of Engine. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** [`OcrEngine`](/api/csharp/enums/ocr-engine/)

### ExperimentalCharacterGraderCorpusPath

```csharp

public string ExperimentalCharacterGraderCorpusPath { get; set; }

```

Gets or sets the value of ExperimentalCharacterGraderCorpusPath. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `string`

### ExperimentalCharacterGraderDictionaryPath

```csharp

public string ExperimentalCharacterGraderDictionaryPath { get; set; }

```

Gets or sets the value of ExperimentalCharacterGraderDictionaryPath. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `string`

### ExperimentalCharacterGraderModelPath

```csharp

public string ExperimentalCharacterGraderModelPath { get; set; }

```

Gets or sets the value of ExperimentalCharacterGraderModelPath. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `string`

### ExperimentalEvidenceCorruptionSeed

```csharp

public int ExperimentalEvidenceCorruptionSeed { get; set; }

```

Gets or sets the value of ExperimentalEvidenceCorruptionSeed. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `int`

### ExperimentalFusionAgreementWeight

```csharp

public double ExperimentalFusionAgreementWeight { get; set; }

```

Gets or sets the value of ExperimentalFusionAgreementWeight. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `double`

### ExperimentalFusionConfidenceWeight

```csharp

public double ExperimentalFusionConfidenceWeight { get; set; }

```

Gets or sets the value of ExperimentalFusionConfidenceWeight. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `double`

### ExperimentalFusionConfirmationThreshold

```csharp

public double ExperimentalFusionConfirmationThreshold { get; set; }

```

Gets or sets the value of ExperimentalFusionConfirmationThreshold. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `double`

### ExperimentalFusionDigitGrouping

```csharp

public bool ExperimentalFusionDigitGrouping { get; set; }

```

Gets or sets the value of ExperimentalFusionDigitGrouping. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### ExperimentalFusionFoldFullwidthLatin

```csharp

public bool ExperimentalFusionFoldFullwidthLatin { get; set; }

```

Gets or sets the value of ExperimentalFusionFoldFullwidthLatin. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### ExperimentalFusionGenericSubreadDomination

```csharp

public bool ExperimentalFusionGenericSubreadDomination { get; set; }

```

Gets or sets the value of ExperimentalFusionGenericSubreadDomination. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### ExperimentalFusionJudge

```csharp

public bool ExperimentalFusionJudge { get; set; }

```

Gets or sets the value of ExperimentalFusionJudge. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### ExperimentalFusionJudgeDictionaryPath

```csharp

public string ExperimentalFusionJudgeDictionaryPath { get; set; }

```

Gets or sets the value of ExperimentalFusionJudgeDictionaryPath. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `string`

### ExperimentalFusionJudgeModelPath

```csharp

public string ExperimentalFusionJudgeModelPath { get; set; }

```

Gets or sets the value of ExperimentalFusionJudgeModelPath. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `string`

### ExperimentalFusionMinimumWinnerMargin

```csharp

public double ExperimentalFusionMinimumWinnerMargin { get; set; }

```

Gets or sets the value of ExperimentalFusionMinimumWinnerMargin. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `double`

### ExperimentalFusionPaddleFullBranch

```csharp

public bool ExperimentalFusionPaddleFullBranch { get; set; }

```

Gets or sets the value of ExperimentalFusionPaddleFullBranch. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### ExperimentalFusionPaddleOnOriginalImage

```csharp

public bool ExperimentalFusionPaddleOnOriginalImage { get; set; }

```

Gets or sets the value of ExperimentalFusionPaddleOnOriginalImage. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### ExperimentalFusionSecondaryBudgetFactor

```csharp

public double ExperimentalFusionSecondaryBudgetFactor { get; set; }

```

Gets or sets the value of ExperimentalFusionSecondaryBudgetFactor. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `double`

### ExperimentalFusionSecondaryBudgetFloorSeconds

```csharp

public double ExperimentalFusionSecondaryBudgetFloorSeconds { get; set; }

```

Gets or sets the value of ExperimentalFusionSecondaryBudgetFloorSeconds. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `double`

### ExperimentalFusionSingleSourceConfidenceFloor

```csharp

public double ExperimentalFusionSingleSourceConfidenceFloor { get; set; }

```

Gets or sets the value of ExperimentalFusionSingleSourceConfidenceFloor. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `double`

### ExperimentalFusionSpaceInsensitiveAgreement

```csharp

public bool ExperimentalFusionSpaceInsensitiveAgreement { get; set; }

```

Gets or sets the value of ExperimentalFusionSpaceInsensitiveAgreement. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### ExperimentalFusionStagedMaxLowConfidenceRatio

```csharp

public double ExperimentalFusionStagedMaxLowConfidenceRatio { get; set; }

```

Gets or sets the value of ExperimentalFusionStagedMaxLowConfidenceRatio. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `double`

### ExperimentalFusionStagedMinMeanConfidence

```csharp

public double ExperimentalFusionStagedMinMeanConfidence { get; set; }

```

Gets or sets the value of ExperimentalFusionStagedMinMeanConfidence. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `double`

### ExperimentalFusionStagedMinWordCount

```csharp

public int ExperimentalFusionStagedMinWordCount { get; set; }

```

Gets or sets the value of ExperimentalFusionStagedMinWordCount. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `int`

### ExperimentalFusionStagedSecondEngine

```csharp

public bool ExperimentalFusionStagedSecondEngine { get; set; }

```

Gets or sets the value of ExperimentalFusionStagedSecondEngine. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### ExperimentalFusionValidShapeWeight

```csharp

public double ExperimentalFusionValidShapeWeight { get; set; }

```

Gets or sets the value of ExperimentalFusionValidShapeWeight. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `double`

### ExperimentalPaddleOnCpu

```csharp

public bool ExperimentalPaddleOnCpu { get; set; }

```

Gets or sets the value of ExperimentalPaddleOnCpu. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### ExperimentalRenderDpi

```csharp

public int ExperimentalRenderDpi { get; set; }

```

Gets or sets the value of ExperimentalRenderDpi. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `int`

### ExperimentalUnanimityAuditActive

```csharp

public bool ExperimentalUnanimityAuditActive { get; set; }

```

Gets or sets the value of ExperimentalUnanimityAuditActive. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### ExperimentalUnanimityAuditProbe

```csharp

public bool ExperimentalUnanimityAuditProbe { get; set; }

```

Gets or sets the value of ExperimentalUnanimityAuditProbe. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### FavorAccuracy

```csharp

public bool FavorAccuracy { get; set; }

```

Gets or sets the value of FavorAccuracy. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### ImageTableZoneRead

```csharp

public bool ImageTableZoneRead { get; set; }

```

Gets or sets the value of ImageTableZoneRead. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### MaxLanguages

```csharp

public int MaxLanguages { get; set; }

```

Gets or sets the value of MaxLanguages. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `int`

### MaxScripts

```csharp

public int MaxScripts { get; set; }

```

Gets or sets the value of MaxScripts. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `int`

### MaxThreads

```csharp

public int MaxThreads { get; set; }

```

Gets or sets the value of MaxThreads. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `int`

### MinLanguageVoteFraction

```csharp

public double MinLanguageVoteFraction { get; set; }

```

Gets or sets the value of MinLanguageVoteFraction. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `double`

### MinLanguageVotes

```csharp

public int MinLanguageVotes { get; set; }

```

Gets or sets the value of MinLanguageVotes. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `int`

### MinScriptRatio

```csharp

public double MinScriptRatio { get; set; }

```

Gets or sets the value of MinScriptRatio. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `double`

### PaperRelativeInkCut

```csharp

public float PaperRelativeInkCut { get; set; }

```

Gets or sets the value of PaperRelativeInkCut. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `float`

### PaperRelativeInkDepthThreshold

```csharp

public float PaperRelativeInkDepthThreshold { get; set; }

```

Gets or sets the value of PaperRelativeInkDepthThreshold. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `float`

### PaperRelativeNoiseWhitePointFactor

```csharp

public float PaperRelativeNoiseWhitePointFactor { get; set; }

```

Gets or sets the value of PaperRelativeNoiseWhitePointFactor. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `float`

### PaperRelativeNormalization

```csharp

public PaperNormalizationMode PaperRelativeNormalization { get; set; }

```

Gets or sets the value of PaperRelativeNormalization. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** [`PaperNormalizationMode`](/api/csharp/enums/paper-normalization-mode/)

### PaperRelativeNormalizationForPaddle

```csharp

public bool PaperRelativeNormalizationForPaddle { get; set; }

```

Gets or sets the value of PaperRelativeNormalizationForPaddle. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

### PaperRelativePaperPercentile

```csharp

public int PaperRelativePaperPercentile { get; set; }

```

Gets or sets the value of PaperRelativePaperPercentile. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `int`

### PaperRelativeTileSize

```csharp

public int PaperRelativeTileSize { get; set; }

```

Gets or sets the value of PaperRelativeTileSize. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `int`

### SplitDecimalRepair

```csharp

public bool SplitDecimalRepair { get; set; }

```

Gets or sets the value of SplitDecimalRepair. Reads walk the chain: Document override → SDK override → Default. Writes go to document level if available, otherwise SDK level.

**Type:** `bool`

## Resource management

```csharp

public void Dispose()

```

`OcrSettings` implements `IDisposable`. Call `Dispose()` or use a C# `using` declaration to release its native handle right away. If you don't, the handle is released when the object is garbage collected.

---

## Related pages

- [Advanced](/api/csharp/settings/vision/advanced.md)
- [Ai Augmenter Settings](/api/csharp/settings/vision/advanced/ai-augmenter-settings.md)
- [Ai Processing Settings](/api/csharp/settings/vision/advanced/ai-processing-settings.md)
- [Anthropic Api Settings](/api/csharp/settings/vision/advanced/anthropic-api-settings.md)
- [Content Extraction Settings](/api/csharp/settings/vision/advanced/content-extraction-settings.md)
- [Custom Vlm Api Settings](/api/csharp/settings/vision/advanced/custom-vlm-api-settings.md)
- [Deskew Settings](/api/csharp/settings/vision/advanced/deskew-settings.md)
- [Document Layout Json Export Settings](/api/csharp/settings/vision/advanced/document-layout-json-export-settings.md)
- [Finalizer Settings](/api/csharp/settings/vision/advanced/finalizer-settings.md)
- [Form Labeling Settings](/api/csharp/settings/vision/advanced/form-labeling-settings.md)
- [Form Recognition Settings](/api/csharp/settings/vision/advanced/form-recognition-settings.md)
- [Form Vlm Connection Settings](/api/csharp/settings/vision/advanced/form-vlm-connection-settings.md)
- [Form Vlm Fallback Connection Settings](/api/csharp/settings/vision/advanced/form-vlm-fallback-connection-settings.md)
- [Google Api Settings](/api/csharp/settings/vision/advanced/google-api-settings.md)
- [Handwriting Settings](/api/csharp/settings/vision/advanced/handwriting-settings.md)
- [Inference Layout Settings](/api/csharp/settings/vision/advanced/inference-layout-settings.md)
- [Inline Style Settings](/api/csharp/settings/vision/advanced/inline-style-settings.md)
- [Local Ai Processing Settings](/api/csharp/settings/vision/advanced/local-ai-processing-settings.md)
- [Local Vlm Settings](/api/csharp/settings/vision/advanced/local-vlm-settings.md)
- [Omr Settings](/api/csharp/settings/vision/advanced/omr-settings.md)
- [Open Ai Api Endpoint Settings](/api/csharp/settings/vision/advanced/open-ai-api-endpoint-settings.md)
- [Open Ai Languages Detection Settings](/api/csharp/settings/vision/advanced/open-ai-languages-detection-settings.md)
- [Open Ai Picture Alt Settings](/api/csharp/settings/vision/advanced/open-ai-picture-alt-settings.md)
- [Pp Text Det Settings](/api/csharp/settings/vision/advanced/pp-text-det-settings.md)
- [Pp Text Rec Settings](/api/csharp/settings/vision/advanced/pp-text-rec-settings.md)
- [Preprocessing Settings](/api/csharp/settings/vision/advanced/preprocessing-settings.md)
- [Reading Order Settings](/api/csharp/settings/vision/advanced/reading-order-settings.md)
- [Segmenter Settings](/api/csharp/settings/vision/advanced/segmenter-settings.md)
- [Table Recognition Settings](/api/csharp/settings/vision/advanced/table-recognition-settings.md)
- [Vision Acceleration Settings](/api/csharp/settings/vision/advanced/vision-acceleration-settings.md)
- [Vision Descriptor Settings](/api/csharp/settings/vision/advanced/vision-descriptor-settings.md)
- [Words Detection Settings](/api/csharp/settings/vision/advanced/words-detection-settings.md)

