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

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

Controls whether included running headers and footers are wrapped in <!-- page-header --> / <!-- page-footer --> comment markers. The markers are invisible when the Markdown is rendered and let a consumer that wants body text only strip running headers/footers with a single regex. When disabled, the header/footer text is emitted as a plain paragraph. Has no effect unless IncludeHeadersAndFooters is enabled.

Type: bool

Default: false


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 (<!-- nutrient-page-start: N -->, 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 false, 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 page headers and footers are included in the Markdown output. When enabled, their content (agency ids, case numbers, page numbers, letterhead) is emitted so it stays available to readers and language models. Set EmitHeaderFooterMarkers to also wrap it in comment markers.

Type: bool

Default: true


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 (<table>/<tr>/<td>) preserving row/column spans where available; when disabled, tables render as pipe-style Markdown.

Type: bool

Default: true