mlreportgen.dom.NumPages class

Package: mlreportgen.dom
Superclasses:

Create placeholder for number of document pages

Description

Create a placeholder for the number of pages in a document. This object applies only to Word and PDF output. For Word output, opening a Word document causes Word to replace this object with the number of pages in the document. For PDF output, the DOM API replaces this object with the total number of pages when writing the document.

Construction

num = NumPages() creates an object for the total number of pages in the report.

Output Arguments

expand all

Total number of pages, returned as an mlreportgen.dom.NumPages object.

Properties

expand all

This read-only property lists child elements of this object.

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

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

This read-only property lists the parent of this document element.

Tag for the document element, specified as a character vector.

The DOM generates a session-unique tag when it creates the document element. Structure the tag as class:id, where class is the class of the element and id is the value of the Id property. You can specify a tag to replace the generated tag. Specifying your own tag can make it easier to identify where an issue occurred during document generation.

Format objects that specify the format of a document element.

Name of the style to apply from the style sheet, specified as a character vector.

Methods

Method

Purpose

clone

Copy this object.

Examples

collapse all

This example inserts the total number of document pages in a page footer. Use this class to display the current page number along with the total number of pages, such as Page 1 of 3.

import mlreportgen.dom.*;
d = Document('mydoc','docx');
open(d);

% Create page footer
footer = DOCXPageFooter('default');
d.CurrentPageLayout.PageFooters = footer;

% Define page number and add to footer.
d.CurrentPageLayout.FirstPageNumber = 1;
t = Text('Page ');
t.WhiteSpace = 'preserve';
t1 = Text(' of ');
t1.WhiteSpace = 'preserve';
pageinfo = Paragraph();
pageinfo.HAlign = 'center';
append(pageinfo,t);
append(pageinfo,Page());
append(pageinfo,t1);
append(pageinfo,NumPages());
append(footer,pageinfo);

% Create several pages.
p = Paragraph('Hello World');
append(d,p);
p = Paragraph('Another page');
p.Style = {PageBreakBefore(true)};
append(d,p);
append(d,clone(p));

close(d);
rptview(d.OutputPath);

Introduced in R2016a