Main Content

mlreportgen.report.TitlePage Class

Namespace: mlreportgen.report
Superclasses: mlreportgen.report.Reporter

Title page reporter

Description

Use an object of the mlreportgen.report.TitlePage class to add a title page to a report.

The mlreportgen.report.TitlePage class is a handle class.

Class Attributes

HandleCompatible
true

Creation

Description

tp = mlreportgen.report.TitlePage creates a title page reporter that uses the default title page template.

example

tp = mlreportgen.report.TitlePage(Name=Value) sets properties using name-value arguments. You can specify multiple name-value arguments in any order.

Properties

expand all

Title page title, specified as one of these values:

  • character vector or string scalar

  • DOM element object

  • 1-by-N or N-by-1 array of strings or DOM element objects

  • 1-by-N or N-by-1 cell array of strings, character vectors, or DOM element objects

  • A Reporter created by the getTitleReporter method of this title page

Example: tp.Title = "My Report";

Attributes:

GetAccess
public
SetAccess
public

Report subtitle, specified as one of these values:

  • character vector or string scalar

  • DOM element object

  • 1-by-N or N-by-1 array of strings or DOM element objects

  • 1-by-N or N-by-1 cell array of strings, character vectors, or DOM element objects

  • Reporter created by the getSubtitleReporter method of this title page

Example: tp.Subtitle = "Part I";

Attributes:

GetAccess
public
SetAccess
public

Image to insert in title page, specified as one of these values:

  • character vector or string scalar that specifies the file system path of the image

  • mlreportgen.report.Figure reporter

  • DOM element object

  • 1-by-N or N-by-1 cell array of image paths, snapshot makers, or DOM element objects

  • Reporter created by the getImageReporter method of this title page

The table lists supported image formats and file extensions.

Import Image FormatSupported in HTMLSupported in WordSupported in PDF

Supported in PDF/A (since R2025a)

Windows® metafile (.emf)NoYesNoNo
Graphics Interchange Format (.gif)YesYesYesYes
JPEG image (.jpg)YesYesYesNo
PDF (.pdf)NoNoYesNo
PDF/A (.pdf)NoNoYesNo
Portable Network Graphics (.png)YesYesYesYes
Scalable Vector Graphics (.svg)YesYesYesYes
TIFF image (.tif)NoYesYesYes

Note

Unlike the PDF report output format, the PDF/A format does not support including PDF or PDF/A images. Use one of the image formats listed in the table to include an image in a PDF/A report.

Example: tp.Image = "reports/imagedir/titleimage.jpg";

Attributes:

GetAccess
public
SetAccess
public

Report author, specified as one of these values:

  • character vector or string scalar

  • DOM element object

  • 1-by-N or N-by-1 array of strings or DOM element objects

  • 1-by-N or N-by-1 cell array of strings, character vectors, or DOM element objects

  • Reporter created by the getAuthorReporter method of this title page

If the environment variable user name is not found, the default value is empty.

Example: TitlePage("Author","John Smith")

Attributes:

GetAccess
public
SetAccess
public

Report publisher, specified as one of these values:

  • character vector or string scalar

  • DOM element object

  • 1-by-N or N-by-1 array of strings or DOM element objects

  • 1-by-N or N-by-1 cell array of strings, character vectors, or DOM element objects

  • Reporter created by the getPublisherReporter method of this title page

Example: tp.Publisher = "Smith Company";

Attributes:

GetAccess
public
SetAccess
public

Report publication date, specified as one of these values:

  • character vector or string scalar

  • DOM element object

  • 1-by-N or N-by-1 array of strings or DOM element objects

  • 1-by-N or N-by-1 cell array of strings, character vectors, DOM element objects

  • Reporter created by the getPubDateReporter method of this title page

Example: tp.PubDate = "April 23, 2017";

Attributes:

GetAccess
public
SetAccess
public

Page layout for the title page, specified as an mlreportgen.report.ReporterLayout object. Use the properties of the ReporterLayout object to override the default page layout properties, such as page orientation.

Attributes:

GetAccess
public
SetAccess
public

Source of the template for this reporter, specified in one of these ways:

  • Character vector or string scalar that specifies the path of the file that contains the template for this reporter

  • Reporter or report whose template this reporter uses or whose template library contains the template for this reporter

  • Document Object Model (DOM) document or document part whose template this reporter uses or whose template library contains the template for this reporter

The specified template must be the same type as the report to which you append this reporter. For example, for a Microsoft® Word report, TemplateSrc must be a Word reporter template. If the TemplateSrc property is empty, this reporter uses the default reporter template for the output type of the report.

Attributes:

GetAccess
public
SetAccess
public
NonCopyable
true

Name of the template for this reporter, specified as a character vector or string scalar. The template for this reporter must be in the template library of the template specified by the TemplateSrc property of this reporter.

Attributes:

GetAccess
public
SetAccess
public

Data Types: char | string

Hyperlink target for this reporter, specified as a character vector or string scalar that specifies the link target ID, or an mlreportgen.dom.LinkTarget object. A character vector or string scalar value converts to a LinkTarget object. The link target immediately precedes the content of this reporter in the output report.

Attributes:

GetAccess
public
SetAccess
public

Methods

expand all

Examples

collapse all

Create a title page that uses the default formatting. Add the title page to the report and view the report.

import mlreportgen.report.*
rpt = Report("output","pdf");

tp = TitlePage();
tp.Title = "Aircraft Tests";
tp.Subtitle = "Monthly Data";
tp.Image = which("b747.jpg");
tp.Author = "John Smith";
tp.Publisher = "MathWorks";
tp.PubDate = date();

add(rpt,tp);
close(rpt);
rptview(rpt);

The report title page has the title, Aircraft Tests, subtitle, Monthly Data, an image of a Boeing 747, author, John Smith, publisher, MathWorks, and the date.

Create a title page that uses the default title format, but changes the title color to red. Specify the Title property as a DOM Text object and set its color to red.

import mlreportgen.report.*
import mlreportgen.dom.*

rpt = Report("output","pdf");
tp = TitlePage;
tp.Title = Text("Aircraft Tests");
tp.Title.Color = "red";

add(rpt,tp);
close(rpt);
rptview(rpt);

Create a title page that overrides the title property formatting. Change the title font to 24-point Arial, the title text color to white, and use a blue background. Any styles you do not specify use the mlreportgen.dom.Paragraph class defaults.

import mlreportgen.report.*
import mlreportgen.dom.*

rpt = Report("output","pdf");
tp = TitlePage();
title = Paragraph("Aircraft Tests");
title.Style = {HAlign("left"),FontFamily("Arial"),...
         FontSize("24pt"),Color("white"),...
         BackgroundColor("blue"),...
         OuterMargin("0in","0in",".5in","1in"),...
         HAlign("center")};
tp.Title = title;
tp.Subtitle = "Monthly Data";
tp.Image = which("b747.jpg");
tp.Author = "John Smith";
tp.Publisher = "MathWorks";
tp.PubDate = date();

add(rpt, tp);
close(rpt);
rptview(rpt);

The template for a TitlePage object determines the page orientation, page margins, page size, and other page layout properties. You can customize and override the title page layout by using a customized version of the default template. You can also customize individual title page elements by customizing those element templates. The TitlePage reporter supports two approaches to overriding title page element templates.

To use a custom TitlePage template:

Create a copy of the default title page template.

Edit the title page element templates as desired in the copy of the template. The names of the templates have the form TitlePageNAME where NAME is the name of the template in the template library. For example, the name of the title template is TitlePageTitle.

Set the TitlePage TemplateSrc property of the object to the path of the custom template.

This approach takes advantage of the fact that the TitlePage object uses specialized reporters, called hole reporters, to apply element templates to the elements. Consequently, you can use the TitlePage methods for getting the reporter to apply a template to a particular element. For example, the getTitleReporter method returns the reporter used for applying the TitlePageTitle template to the content of the report title.

Copy the title page element templates that you want to customize into a different template library. For example, you can copy the template library of the report or the template library of a DOM document part object. These template libraries are often libraries that you created to store customized versions of templates.

For each title page element to be customized, get its element reporter. For example, for the title, use the getTitleReporter method.

Set the TemplateSrc property of the element reporter to the source of the template library containing the customized version of the element template.

Set Content property of the element reporter to the element content.

Set the title page object element property to the element reporter object.

import mlreportgen.report.*
import mlreportgen.dom.*

rpt = Report("MyReport","pdf","MyCustomPDFTemplate");
tp = TitlePage;
titleReporter = getTitleReporter(tp);
titleReporter.TemplateSrc = rpt;
titleReporter.Content = "My Report";
tp.Title = titleReporter;

Version History

Introduced in R2017b

expand all