Main Content

mlreportgen.dom.Preformatted Class

Namespace: 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

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

example

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

example

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

Background color that consists of a CSS color name or a hexadecimal RGB value, specified as a character vector or string scalar.

Note

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

Example: "blue"

Example: "#0000ff"

Attributes:

NonCopyable
true

Data Types: char | string

Option to use bold for this document element, specified as a numeric or logical 1 (true) or 0 (false). To make document element bold, set Bold to true or 1.

Note

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.

Attributes:

NonCopyable
true

Data Types: logical

Document element object color 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, specified as a character vector or string scalar.

Note

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"

Attributes:

NonCopyable
true

Data Types: char | string

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

  • "px" — pixels

  • "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.

Note

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"

Attributes:

NonCopyable
true

Data Types: char | string

Name of a font family to use for text, specified as a character vector or string scalar. 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.

Note

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.

Example: "Courier New"

Attributes:

NonCopyable
true

Data Types: char | string

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

  • "px" — pixels

  • "cm" — centimeters

  • "in" — inches

  • "mm" — millimeters

  • "pc" — picas

  • "pt" — points

Note

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"

Attributes:

NonCopyable
true

Data Types: char | string

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

Note

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.

Attributes:

NonCopyable
true

Data Types: char | string

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.

Note

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.

Attributes:

NonCopyable
true

Data Types: int32

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

Note

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.

Attributes:

NonCopyable
true

Data Types: logical

Text strikethrough, specified as one of these values:

  • "none" — No strikethrough

  • "single" — Single line

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

Note

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.

Attributes:

NonCopyable
true

Data Types: char | string

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 and two dots between the dashes

Word

"wave"

Wavy line

Word

"wavyHeavy"

Heavy wavy

Word

"wavyDouble"

Double wavy line

Word

"none"

No underline

All

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.

Note

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.

Attributes:

NonCopyable
true

Data Types: char | string

How to treat white space and line breaks 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 Microsoft 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

"preserve"

Same as "pre".All

"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

Note

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.

Data Types: char | string

Style name, specified as a character vector or string scalar. The style name is the name of a style specified in the style sheet of the document or document part to which this element is appended. The specified style defines the appearance of this element in the output document unless overridden by the formats specified by the Style property of this element. To learn more about using style sheets, see Use Style Sheet Styles.

Note

Microsoft Word output ignores the style name.

Attributes:

NonCopyable
true

Data Types: char | string

Format specification for this document element object, specified as an array of DOM format objects. The formats specified by this property override corresponding formats specified by the StyleName property of this element. Formats that do not apply to this document element object are ignored.

Attributes:

NonCopyable
true

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 of the document element to which this object is appended.

Attributes:

NonCopyable
true

Parent of mlreportgen.dom.Preformatted object, specified as a document element object. A document element must have only one parent.

Attributes:

SetAccess
private
NonCopyable
true

Children of mlreportgen.dom.Preformatted object, specified as an array of document element objects. This property contains the document element objects appended using the append method.

Attributes:

SetAccess
private
NonCopyable
true

Tag for the mlreportgen.dom.Preformatted object, specified as a character vector or string scalar. The DOM API 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. Specify your own tag value to help you identify where to look when an issue occurs during document generation.

Attributes:

NonCopyable
true

Data Types: char | string

Object identifier for the mlreportgen.dom.Preformatted object, specified as a character vector or string scalar. The DOM API generates a session-unique identifier when it creates the document element object. You can specify your own value for Id.

Attributes:

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