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 pairs. You can specify multiple name-value pair arguments in any order.

Properties

expand all

Title page title, specified as one of these values:

  • String scalar or character vector

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

Report subtitle, specified as one of these values:

  • String scalar or character vector

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

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

  • String scalar or character vector 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.

Image FormatFile ExtensionSupported in HTMLSupported in WordSupported in PDF
Windows® metafile.emfNoYesNo
Graphics Interchange Format .gifYesYesYes
JPEG image.jpgYesYesYes
PDF.pdfNoNoYes
Portable Network Graphics .pngYesYesYes
Scalable Vector Graphics.svgYesYesYes
TIFF image.tifNoYesYes

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

Report author, specified as one of these values:

  • String scalar or character vector

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

Report publisher, specified as one of these values:

  • String scalar or character vector

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

Report publication date, specified as one of these values:

  • String scalar or character vector

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

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.

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 is used for this reporter or whose template library contains the template for this reporter

  • DOM document or document part whose template is used for this reporter 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 report. 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.

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.

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.

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);

title_page_ex1.png

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