Main Content

mlreportgen.dom.WhiteSpace class

Package: mlreportgen.dom
Superclasses:

White space type

Description

Specifies behavior for white space and line breaks in text.

Construction

ws = WhiteSpace(option) applies the specified white space option to white space in a Text or Paragraph object. For PDF, you can specify WhiteSpace only for a Paragraph object.

Input Arguments

expand all

White space behavior, specified as one of these values.

Note

Only 'preserve' and 'normal' affect Word output.

ValueDescription

'preserve'

Preserves spaces and line breaks.

'normal' (default)

For HTML and PDF, removes leading and trailing spaces and collapses multiple spaces within text to a single space, ignoring line breaks.

For Word, removes leading and trailing spaces, ignoring line breaks.

'nowrap'

Sequences of white spaces collapse into a single white space. Text does not wrap to the next line. The text continues on the same line until a <br /> tag is encountered.

'pre'

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

'pre-line'

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

'pre-wrap'

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

Output Arguments

expand all

White space type, returned as an mlreportgen.dom.WhiteSpace object.

Properties

expand all

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.

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.

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.

Examples

collapse all

This example shows the effect of using the 'preserve' option for each of the output formats. In HTML, multiple spaces collapse, but the trailing space is preserved. Preserving the trailing space is useful, for example, when you are creating a chapter title. Typically, you append an autonumber after the text 'Chapter: '. Using 'preserve' keeps the trailing space.

import mlreportgen.dom.*;
doctype = 'html';
d = Document('test',doctype);
open(d);
     
p = Paragraph('This paragraph has extra spaces    and one after the colon: ');
p.Style = {WhiteSpace('preserve')};

append(p,'XX');
append(d,p);
     
close(d);
rptview(d.OutputPath);

This example uses Word output. The multiple spaces do not collapse, and the trailing space is preserved. Try commenting out the WhiteSpace property. The multiple spaces are preserved, but the trailing space is removed.

import mlreportgen.dom.*;
doctype = 'docx';
d = Document('test',doctype);
open(d);
     
p = Paragraph('This paragraph has extra spaces    and one after the colon: ');
p.Style = {WhiteSpace('preserve')};

append(p,'XX');
append(d,p);
     
close(d);
rptview(d.OutputPath);

This example uses PDF output.

import mlreportgen.dom.*;
doctype = 'pdf';
d = Document('test',doctype);
open(d);
     
p = Paragraph('This paragraph has extra spaces    and one after the colon: ');

% p.Style = {WhiteSpace('preserve')};

append(p,'XX');
append(d,p);
     
close(d);
rptview(d.OutputPath);