---
title: "ReadingOrderSettings"
canonical_url: "https://www.nutrient.io/api/python/settings/advanced/vision/reading-order-settings/"
md_url: "https://www.nutrient.io/api/python/settings/advanced/vision/reading-order-settings.md"
last_updated: "2026-06-12T15:43:20.744Z"
description: "Settings for ReadingOrder. Values fall back through three levels: document → SDK → built-in default."
---

Settings for ReadingOrder. 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.

**Tags:** `Advanced`, `Vision`

```python

from nutrient_sdk import ReadingOrderSettings

```

## Construction

`ReadingOrderSettings` is accessed through a [`Document`](/api/python/document/) instance for per-document overrides, or via [`SdkSettings`](/api/python/settings/document/sdk-settings/) for SDK-wide defaults.

```python

# Per-document override

with Document.open("input.pdf") as doc:
    settings = doc.settings.reading_order_settings
    settings.some_field = new_value          # mutate fields directly

# SDK-wide default (applies to all documents)

SdkSettings.reading_order_settings.some_field = new_value

```

Settings are configured by writing to fields on the returned object. The settings property itself cannot be reassigned — `doc.settings.reading_order_settings = other_settings` is rejected.

## Properties

### horizontal_dilation_threshold

```python

@property
def horizontal_dilation_threshold(self) -> float

@horizontal_dilation_threshold.setter
def horizontal_dilation_threshold(self, value: float) -> None

```

Horizontal dilation threshold for column detection (normalized by page width). Default is 0.15 (15% of page width). Increase for wider column detection tolerance, decrease for stricter column boundaries.

**Type:** `float`

**Default:** `0.15f`

---

### text_direction

```python

@property
def text_direction(self) -> TextDirection

@text_direction.setter
def text_direction(self, value: TextDirection) -> None

```

Text direction for reading order computation. Determines how elements are sorted and ordered on the page.

**Type:** [`TextDirection`](/api/python/enums/text-direction/)

**Default:** `TextDirection.LeftToRightTopToBottom`

---

---

## Related pages

- [Per-document override](/api/python/settings/advanced/vision/ai-processing-settings.md)
- [Per-document override](/api/python/settings/advanced/vision/custom-vlm-api-settings.md)
- [Per-document override](/api/python/settings/advanced/vision/form-labeling-settings.md)
- [Per-document override](/api/python/settings/advanced/vision/finalizer-settings.md)
- [Per-document override](/api/python/settings/advanced/vision/form-recognition-settings.md)
- [Vision](/api/python/settings/advanced/vision.md)
- [Per-document override](/api/python/settings/advanced/vision/ocr-settings.md)
- [Per-document override](/api/python/settings/advanced/vision/inference-layout-settings.md)
- [Per-document override](/api/python/settings/advanced/vision/open-ai-languages-detection-settings.md)
- [Per-document override](/api/python/settings/advanced/vision/open-ai-picture-alt-settings.md)
- [Per-document override](/api/python/settings/advanced/vision/segmenter-settings.md)
- [Per-document override](/api/python/settings/advanced/vision/words-detection-settings.md)

