Main Content

mlreportgen.dom.Preformatted class

Package: mlreportgen.dom
Superclasses: mlreportgen.dom.Paragraph

Preformatted block of text

Since R2020a

Description

Use objects of the mlreportgen.dom.Preformatted class to preserve the white-space formatting of text. White space-formatting uses spaces, line feeds, and monospace fonts to render text on multiple lines and to control indentation. For example, use an mlreportgen.dom.Preformatted object to add program code to a report.

If you do not set the FontFamilyName or Whitespace properties, the DOM API uses the default values for the report type (HTML, Microsoft® Word, or PDF) so that white-space formatting is preserved. You can override the default values by setting the FontFamilyName or Whitespace properties.

The mlreportgen.dom.Preformatted class is a handle class.

Class Attributes

ConstructOnLoad
true
HandleCompatible
true

For information on class attributes, see Class Attributes.

Creation

Description

example

preObj = mlreportgen.dom.Preformatted() creates an empty preformatted paragraph.

example

preObj = mlreportgen.dom.Preformatted(text) creates a preformatted paragraph that contains the specified text.

preObj = mlreportgen.dom.Preformatted(text,styleName) creates a preformatted paragraph that has the specified style. The style specified by the styleName property must be defined in the template used for the document element to which this paragraph is appended.

preObj = mlreportgen.dom.Preformatted(docElementObj) creates a paragraph that contains the document element specified by docElementObj.

Input Arguments

expand all

Paragraph text, specified as a character vector or string scalar.

Style for this paragraph, specified as a character vector or string scalar. The style must be defined in the template used to create the document to which this paragraph is appended.

Document element (DOM object) to include in this paragraph. You can specify these DOM objects:

Properties

expand all

Outline level of the paragraph, specified as an integer. Setting the OutlineLevel property causes this paragraph to be included in automatically generated outlines, such as a table of contents. The value specifies the level of the paragraph in the outline. For example, to make a paragraph appear at the top level in an outline, set the OutlineLevel property to 1.

Setting the OutlineLevel property adds a corresponding mlreportgen.dom.OutlineLevel format object to the Style property. Setting the OutlineLevel property to an empty value removes the object.

Whether to use bold for text, specified as a numeric or logical 1 (true) or 0 (false). To make text bold, set Bold to true or 1.

Setting the Bold property adds a corresponding mlreportgen.dom.Bold format object to the Style property. Setting the Bold property to an empty value removes the object.

Whether to use italic for text, specified as a numeric or logical 1 (true) or 0 (false). To make text italic, set Italic to true or 1.

Setting the Italic property adds a corresponding mlreportgen.dom.Italic format object to the Style property. Setting the Italic property to an empty value removes the object.

Text color, specified as a character vector or string scalar that consists of a CSS color name (see https://www.w3.org/wiki/CSS/Properties/color/keywords) or a hexadecimal RGB (truecolor) value in the form #RRGGBB.

Setting the Color property adds a corresponding mlreportgen.dom.Color format object to the Style property. Setting the Color property to an empty value removes the object.

Example: 'blue'

Example: '#0000ff'

Background color, specified as a character vector or string scalar that consists of a CSS color name (see https://www.w3.org/wiki/CSS/Properties/color/keywords) or a hexadecimal RGB (truecolor) value in the form #RRGGBB.

Setting the BackgroundColor property adds a corresponding mlreportgen.dom.BackgroundColor format object to the Style property. Setting the BackgroundColor property to an empty value removes the object.

Example: 'blue'

Example: '#0000ff'

Type of underline, specified as one of the values in this table.

Underline valueDescriptionSupported Output Types

'single'

Single line

All

'words'

Underline all characters except spaces

Word

'double'

Double line

Word

'thick'

Thick line

Word

'dotted'

Dotted line

Word

'dottedHeavy'

Thick dotted line

Word

'dash'

Dashed line

Word

'dashedHeavy'

Line with heavy dashes

Word

'dashLong'

Line with long dashes

Word

'dashLongHeavy'

Line with heavy long dashes

Word

'dotDash'

Dot-dash line

Word

'dashDotHeavy'

Heavy dash-dot line

Word

'dotDotDash'

Dot-dot-dash line

Word

'dashDotDotHeavy'

Line with heavy dashes with two dots between the dashes

Word

'wave'

Wavy line

Word

'wavyHeavy'

Heavy wavy

Word

'wavyDouble'

Double wavy line

Word

'none'

No underline

All

Setting the Underline property adds a corresponding mlreportgen.dom.Underline format object to the Style property. Setting the Underline property to an empty value removes the object.

To specify both the color and the type of the underline, do not set the Underline property. Instead, set the Style property to include an mlreportgen.dom.Underline format object that specifies the underline type and color.

How to treat white space in text, specified as one of the values in this table.

ValueDescriptionSupported Output Types

'normal'

For HTML and PDF, this value removes spaces at the beginning and the end of text. Multiple spaces in the text collapse to a single space.

For Word, this value removes spaces at the beginning and end of text.

All

'nowrap'

Sequences of white space collapse into a single white space. Text never wraps to the next line.

HTML

'pre'

Preserves white space. Text wraps only on line breaks. Acts like the <pre> tag in HTML.

HTML and PDF

'pre-line'

Sequences of white space collapse into a single white space. Text wraps when necessary and on line breaks.

HTML and PDF

'pre-wrap'

Preserves white space. Text wraps when necessary and on line breaks.

HTML and PDF

'preserve'

Same as 'pre'.All

Setting the WhiteSpace property adds a corresponding mlreportgen.dom.WhiteSpace format object to the Style property. Setting the WhiteSpace property to an empty value removes the object.

Name of a font family to use for text, specified as a character vector or string scalar.

Setting the FontFamilyName property adds a corresponding mlreportgen.dom.FontFamily format object to the Style property. Setting the FontFamilyName property is the same as setting the FontName property of an mlreportgen.dom.FontFamily object. Setting the FontFamilyName property to an empty value removes the object.

To specify substitutions for the font, do not specify the font family by setting this property. Instead create and add an mlreportgen.dom.FontFamily object to the Style property.

Example: 'Courier New'

Font size to use for text, specified as a character vector or string scalar that consists of a number followed by an abbreviation for a unit of measurement. For example, '12pt' specifies twelve points. Valid abbreviations are:

  • px — pixels (default)

  • cm — centimeters

  • in — inches

  • mm — millimeters

  • pc — picas

  • pt — points

Setting the FontSize property adds a corresponding mlreportgen.dom.FontSize format object to the Style property. Setting the FontSize property to an empty value removes the object.

Example: '12pt'

Text strikethrough, specified as one of these values:

  • 'none' — No strikethrough

  • 'single' — Single line

  • 'double' — Double line (for Word reports only)

Setting the Strike property adds a corresponding mlreportgen.dom.Strike format object to the Style property for this document element. Setting the Strike property to an empty value removes the object.

Horizontal alignment for this paragraph, relative to page margins or table cell borders, specified as one of the values in this table.

ValueDescriptionSupported Output Types

'center'

Center the paragraph.

All

'distribute'

Distribute all characters equally.

Word

'justify'

Align left side of paragraph on left side of page or table entry, and right side of paragraph on the right side of the page or table entry.

All

'KashidaHigh'

Use widest Kashida length.

Kashida is a type of justification used for some cursive scripts, such as Arabic and Persian.

Word

'KashidaLow'

Use lowest Kashida length.

Word

'KashidaMedium'

Use medium Kashida length.

Word

'left'

Align paragraph left.

All

'right'

Align paragraph right.

All

'ThaiDistribute'

Thai language justification.

Word

Setting the HAlign property adds a corresponding mlreportgen.dom.HAlign format object to the Style property for this document element. Setting the HAlign property to an empty value removes the object.

Indentation amount for the fist line of this paragraph, specified as a character vector or string scalar that consists of number followed by an abbreviation for a unit of measurement. For example, '0.5in' specifies one-half inch. Valid abbreviations are:

  • px — pixels (default)

  • cm — centimeters

  • in — inches

  • mm — millimeters

  • pc — picas

  • pt — points

The indentation amount is the amount by which to indent the first line of this paragraph relative to the succeeding lines. To create a hanging indent where all of the lines are indented except for the first line, use a negative number.

Setting the FirstLineIndent property adds a corresponding mlreportgen.dom.FirstLineIndent format object to the Style property for this document element. Setting the FirstLineIndent property to an empty value removes the object.

Example: '0.5in'

Name of the style for formatting this paragraph, specified as a character vector or string scalar.

The style specified by the StyleName property must be defined in the stylesheet of the document or document part to which this paragraph is appended. The specified style defines the appearance of the paragraph in the output document, except for formats that are specified by the Style property of this paragraph. The format objects specified by the Style property override formats defined in the style.

Formats that define the style of this paragraph, specified as a cell array of DOM format objects. The formats override the corresponding formats defined by the stylesheet style specified by the StyleName property.

Custom attributes of this document element, specified as an array of mlreportgen.dom.CustomAttribute objects. The custom attributes must be supported by the output format.

Parent of paragraph, specified as a document element object. This property is read-only.

Children of this paragraph, specified as an array of document element objects. This property is read-only.

Tag for this document element, specified as a character vector or string scalar.

The DOM generates a session-unique tag as part of the creation of this object. The generated tag has the form CLASS:ID, where CLASS is the object class and ID is the value of the Id property of the object. Specifying your own tag value can help you to identify where an issue occurred during document generation.

Attributes:

GetAccess
public
SetAccess
public
NonCopyable
true

Data Types: char | string

ID for this document element, specified as a character vector or string scalar. The DOM generates a session-unique ID when it creates the document element. You can specify your own ID.

Attributes:

GetAccess
public
SetAccess
public
NonCopyable
true

Data Types: char | string

Methods

expand all

Examples

collapse all

Format code in a report by using an mlreportgen.dom.Preformatted object. The white space and newline characters are preserved in the output. The font of the code is monospace.

import mlreportgen.dom.*
import mlreportgen.report.*
rpt = Report('myReport','docx');

p = Paragraph("This is my code:");
pr = Preformatted("  a = 1;" + newline + "  b = 2;" + newline + "  c = a + b;");

add(rpt, p);
add(rpt,pr);

close(rpt);
rptview(rpt);

Here is the code in the generated report:

Version History

Introduced in R2020a