mlreportgen.dom.DocumentPart class
Package: mlreportgen.dom
Create a document part object
Description
Define a document part, a repeatable part of a report. A document part typically has holes that you fill during report generation. You can append a part to a document or to a document part of the same output type.
The mlreportgen.dom.DocumentPart
class is a handle
class.
Creation
Description
creates an HTML document part using the default HTML template. documentPartObj
= DocumentPart()
creates a document part of the specified type (for example, Microsoft® Word) based on the default template for that part.documentPart
= DocumentPart(type
)
creates a document part based on the specified template.documentPartObj
= DocumentPart(type
,templatePath
)
creates a document part based on the specified document part template in the
specified template.documentPartObj
= DocumentPart(type
,templatePath
,docPartTemplateName
)
creates a document part based on the specified document part template stored
in the template used by the specified source. The source can be a document
or a document part.documentPartObj
= DocumentPart(templateSrc
,docPartTemplateName
)
Input Arguments
type
— Type of output
'html'
(default) | 'docx'
| 'pdf'
| 'html-file'
Type of output, specified as one of these values:
'html'
— HTML output'pdf'
— PDF based on a PDF template'docx'
— Word output'html-file'
— HTML output, using a single file that contains the CSS, JavaScript®, and images for the report
If you specify a template using the templatePath
argument, the value for type
must match the template
type.
templatePath
— Path of this part’s template
[]
(default) | character vector
Full path of this part’s template file or folder, specified as a
character vector. If you omit a file extension, the template type is
based on the document type, for example, .docx
for
Word.
Data Types: char
docPartTemplateName
— Document part template name
character vector
Document part template name, specified as a character vector. Specify
where the part is stored using the templatePath
or
templateSrc
argument.
templateSrc
— Document or document part that holds the document part template
mlreportgen.dom.Document
object | mlreportgen.dom.DocumentPart
object
Document or document part object whose template contains the template
for this document part, specified as an
mlreportgen.dom.Document
object for a document or
an mlreportgen.dom.DocumentPart
object for a document
part.
Properties
Children
— Children of document element
array of DOM objects
Children of this document element, specified as an array of DOM objects. This property is read-only.
CurrentHoleId
— ID of current hole in document
character vector
This read-only property is the hole ID of the current hole in this document.
CurrentHoleType
— Type of current hole
'Inline'
| 'Block'
Type of the current template hole, specified as 'Inline'
or 'Block'
.
An inline hole is for document elements that a paragraph element can contain:
Text
,Image
,LinkTarget
,ExternalLink
,InternalLink
,CharEntity
,AutoNumber
.A block hole can contain a
Paragraph
,Table
,OrderedList
,UnorderedList
,DocumentPart
, orGroup
.
CurrentPageLayout
— Current page layout of this document
mlreportgen.dom.DOCXPageLayout
object | mlreportgen.dom.PDFPageLayout
object
This property applies to Word and PDF documents. For Word documents,
the value is a DOCXPageLayout
object that specifies
the current page layout. For PDF documents, the value is a PDFPageLayout
object
if the document currently specifies a page layout. For HTML documents,
the value is always [].
Id
— ID for this document element
character vector | string scalar
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.
Attributes:
GetAccess | public |
SetAccess | public |
NonCopyable | true |
Data Types: char
| string
OpenStatus
— Open status of document element
unopened
(default) | open
| closed
This read-only property lists the open status of this document element.
Parent
— Parent of document element
DOM object
Parent of this document element, specified as a DOM object. This property is read-only.
Attributes:
GetAccess | public |
SetAccess | private |
NonCopyable | true |
Tag
— Tag for this document element
character vector | string scalar
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.
Attributes:
GetAccess | public |
SetAccess | public |
NonCopyable | true |
Data Types: char
| string
TemplateName
— Name of this part’s template
character vector
The name of this part's template if the template is stored in the document
part template library of the template specified by this part's
TemplatePath
property. If this property is [], the
template specified by the TemplatePath
property is used
as this part's template.
TemplatePath
— Path of the template
character vector
Path of this part's template or of a template whose template library contains this part's template, specified as a character vector.
Type
— Output type
'html'
| 'html-file'
| 'docx'
| 'pdf'
Output type, specified as one of these values.
'HTML'
– HTML report packaged as a zipped file containing the HTML file, images, style sheet, and JavaScript files of the report.'HTML-FILE'
– HTML report as a single HTML file containing the text, style sheet, JavaScript, and base64-encoded images of the report'PDF'
– PDF file'DOCX'
– Microsoft Word document
If you specify a template using the TemplatePath
property, the value for Type
must match the template type.
Methods
Public Methods
Use DocumentPart
methods like you use the
corresponding Document
methods.
Method | Purpose |
---|---|
Use
| Append HTML text to document |
Use
| Append HTML file contents to document |
Append document element to the document part. | |
Close this document part. You cannot close a document part if it has not been opened or was previously closed. | |
Create document part template. | |
Fill document hole. | |
Get core properties of document part. | |
Get full path of main part of output document. | |
Move to next template hole. | |
Open this document part. You cannot open a document part if it was previously opened or closed. You also cannot open a document part if its library source is closed. | |
Set core properties of document part. |
Examples
Document Part from Blank Document Part Template
This example creates a function
createMagicParts
that defines a document part based on a
blank document part template. The new document part has a heading whose text
depends on the input. Each document part generated contains a magic square table
whose appearance is also based on the input. The example creates a containing
function magicparts
that appends the document part to the
report iteratively based on the input.
Create the function.
function magic_square_report(square_sizes, report_type) %MAGIC_SQUARE_REPORT Report on magic squares % magic_square_report(square_sizes, report_type) % creates a report of the specified output type % (docx, pdf, or html) on the specified magic % squares. For example, to create a PDF report on % squares of size 5, 10, and 15, enter the following % line at the MATLAB command line: % % magic_square_report([5,10,15],'pdf'); import mlreportgen.dom.*; rpt = Document('MagicSquareReport',report_type); open(rpt); for i = 1:length(square_sizes) sz = square_sizes(i); section = createSquareSection(rpt,sz); append(rpt,section); end close(rpt); rptview(rpt.OutputPath); function section = createSquareSection(rpt,square_size) import mlreportgen.dom.*; % Create document part to hold section section = DocumentPart(rpt.Type); % Create magic square heading h1 = Heading1(sprintf('magic(%i)',square_size)); % Put each square on a separate page. h1.Style = {PageBreakBefore(true)}; append(section,h1); % Create table to hold square table = append(section, Table(magic(square_size))); % Format table table.Border = 'solid'; table.ColSep = 'solid'; table.RowSep = 'solid';
Call the function to generate the report. Change the input arguments to change the contents or output format. This example creates a Word document that contains three squares.
magic_square_report([5,8,12],'docx');
Version History
Introduced in R2014a
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)