This HTML page is not optimized for LLM or AI agent consumption. Fetch the Markdown version instead: /api/python/settings/format/markdown-settings.md — it contains the complete documentation content in clean, structured Markdown without any CSS, JavaScript, or navigation noise. MarkdownSettings

Settings for Markdown. 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: Format

from nutrient_sdk import MarkdownSettings

Construction

MarkdownSettings is accessed through a Document instance for per-document overrides, or via SdkSettings for SDK-wide defaults.

# Per-document override
with Document.open("input.pdf") as doc:
settings = doc.settings.markdown_settings
settings.some_field = new_value # mutate fields directly
# SDK-wide default (applies to all documents)
SdkSettings.markdown_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.markdown_settings = other_settings is rejected.

Properties

emit_page_boundary_markers

@property
def emit_page_boundary_markers(self) -> bool
@emit_page_boundary_markers.setter
def emit_page_boundary_markers(self, value: bool) -> None

When enabled, the converter emits a unique HTML-comment marker at the start of every page (, where N is the 1-indexed physical page number). The markers are invisible when the Markdown is rendered to HTML but allow downstream tooling to slice the output reliably back into per-page chunks.

Type: bool

Default: false


enable_inline_formatting

@property
def enable_inline_formatting(self) -> bool
@enable_inline_formatting.setter
def enable_inline_formatting(self, value: bool) -> None

Controls whether inline text formatting (bold, italic) is preserved in the Markdown output using standard markers (bold, italic).

Type: bool

Default: false


enable_semantic_block_formatting

@property
def enable_semantic_block_formatting(self) -> bool
@enable_semantic_block_formatting.setter
def enable_semantic_block_formatting(self, value: bool) -> None

Controls whether footnotes and captions are rendered with semantic Markdown markers (> , ) and whether pictures/charts are emitted at all (![alt] / [Figure]). When , footnotes and captions render as plain paragraphs and pictures/charts are dropped entirely. List items always render with - regardless.

Type: bool

Default: true


extract_words_from_pictures

@property
def extract_words_from_pictures(self) -> bool
@extract_words_from_pictures.setter
def extract_words_from_pictures(self, value: bool) -> None

Controls whether words detected inside picture regions are emitted as plain text in Markdown output. This helps preserve chart labels, axis text, legends, and similar image-contained text when available.

Type: bool

Default: true


image_export

@property
def image_export(self) -> ImageExportMode
@image_export.setter
def image_export(self, value: ImageExportMode) -> None

Controls how images are exported when converting documents to Markdown.

Type: ImageExportMode

Default: ImageExportMode.None


include_headers_and_footers

@property
def include_headers_and_footers(self) -> bool
@include_headers_and_footers.setter
def include_headers_and_footers(self, value: bool) -> None

Controls whether running headers and footers are included in the Markdown output. When included, they render as plain text paragraphs.

Type: bool

Default: false


use_html_tables

@property
def use_html_tables(self) -> bool
@use_html_tables.setter
def use_html_tables(self, value: bool) -> None

Controls how tables are rendered in the Markdown output. When enabled, tables are emitted as HTML (//) preserving row/column spans where available; when disabled, tables render as pipe-style Markdown.

Type: bool

Default: true