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 MarkdownSettingsConstruction
MarkdownSettings is accessed through a Document instance for per-document overrides, or via SdkSettings for SDK-wide defaults.
# Per-document overridewith 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_valueSettings 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_header_footer_markers
@propertydef emit_header_footer_markers(self) -> bool
@emit_header_footer_markers.setterdef emit_header_footer_markers(self, value: bool) -> NoneControls 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
@propertydef emit_page_boundary_markers(self) -> bool
@emit_page_boundary_markers.setterdef emit_page_boundary_markers(self, value: bool) -> NoneWhen 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
@propertydef enable_inline_formatting(self) -> bool
@enable_inline_formatting.setterdef enable_inline_formatting(self, value: bool) -> NoneControls 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
@propertydef enable_semantic_block_formatting(self) -> bool
@enable_semantic_block_formatting.setterdef enable_semantic_block_formatting(self, value: bool) -> NoneControls 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
@propertydef extract_words_from_pictures(self) -> bool
@extract_words_from_pictures.setterdef extract_words_from_pictures(self, value: bool) -> NoneControls 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
@propertydef image_export(self) -> ImageExportMode
@image_export.setterdef image_export(self, value: ImageExportMode) -> NoneControls how images are exported when converting documents to Markdown.
Type: ImageExportMode
Default: ImageExportMode.None
include_headers_and_footers
@propertydef include_headers_and_footers(self) -> bool
@include_headers_and_footers.setterdef include_headers_and_footers(self, value: bool) -> NoneControls 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
@propertydef use_html_tables(self) -> bool
@use_html_tables.setterdef use_html_tables(self, value: bool) -> NoneControls 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