使用模板自定义 Word 报告的页面大小和边距
此示例显示如何使用报告 API 报告器模板自定义 Microsoft® Word 报告中的页面大小以及页边距、页眉、页脚和装订线的大小。或者,您可以使用程序化方法。如果您计划对模板进行其他修改,请使用基于模板的方法。否则,请使用程序化方法。有关使用程序化方法的示例,请参阅 通过编程自定义报告的页面大小和边距。
默认情况下,报告 API 会生成 8.5 × 11 英寸的纵向页面,边距为 1 英寸。页眉和页脚各为半英寸宽,并且装订线为零像素。您可能需要在报告中更改这些尺寸。例如,如果您正在为欧洲地区生成报告,则可能需要生成 A4 页面。此示例显示如何生成 A4 页面。使用相同的步骤生成其他页面尺寸。
要更改报告 API 报告的页面尺寸,您必须更改 mlreportgen.report.TitlePage
、mlreportgen.report.TableOfContents
和 mlreportgen.report.Chapter
报告器的模板指定的尺寸。此示例显示如何修改和使用每个报告器的 Word 模板。
自定义标题页 Word 模板
创建 mlreportgen.report.TitlePage
报告器默认 Word 模板的副本。
mlreportgen.report.TitlePage.createTemplate(... "titlePageTemplate.dotx", "docx");
在 MATLAB® 的当前文件夹窗格中,右键点击模板文件,然后点击在 MATLAB 外部打开。
在开发人员选项卡上,启用设计模式。如果开发工具选项卡不可用,点击文件 > 选项,然后点击自定义功能区。在主选项卡下,点击开发工具复选框。
在插入选项卡上的文本组中,点击快速部件。选择 TitlePage
文档部件模板。
选择文档部件模板的内容。在布局选项卡上的页面设置组中,点击页面设置对话框启动器。修改纸张大小和边距为 A4 值:
上、下、左、右边距为 0.98 英寸。
页眉和页脚高度为 0.5 英寸。
装订线尺寸(装订页面的空间)为 0。
纵向页面尺寸为 8.27 英寸 x 11.69 英寸。
点击确定并 关闭对话框。
在插入选项卡上,点击快速部件并选择保存所选内容到快速部件库。
在“创建新构建块”对话框中,输入您修改的文档部件模板的名称,即 TitlePage
,并选择 mlreportgen
类别。响应提示以覆盖以前的版本。
选择文档部件模板的内容,然后保存并关闭模板。
自定义目录 Word 模板
创建 mlreportgen.report.TableOfContents
报告器默认 Word 模板的副本。
mlreportgen.report.TableOfContents.createTemplate(... "tableOfContentsTemplate.dotx", "docx");
在 MATLAB 中,在当前文件夹窗格中,右键点击模板文件,然后点击在 MATLAB 外部打开。
在开发人员选项卡上,启用设计模式。如果开发工具选项卡不可用,点击文件 > 选项,然后点击自定义功能区。在主选项卡下,点击开发工具复选框。
在插入选项卡上,点击快速部件。选择 TableOfContents
文档部件模板。
选择文档部件模板的内容。在布局选项卡上的页面设置组中,点击页面设置对话框启动器。将纸张大小和边距修改为 A4 值:
上、下、左、右边距为 0.98 英寸。
页眉和页脚高度为 0.5 英寸。
装订线尺寸(装订页面的空间)为 0。
纵向页面尺寸为 8.27 英寸 x 11.69 英寸。
点击确定并 关闭对话框。
在插入选项卡上,点击快速部件并选择保存所选内容到快速部件库。
在“创建新构建块”对话框中,输入您修改的文档部件模板的名称,即 TableOfContents
,并选择 mlreportgen
类别。响应提示以覆盖以前的版本。
删除文档部件模板的内容,然后保存并关闭模板。
自定义章节 Word 模板
创建 mlreportgen.report.Chapter
报告器默认 Word 模板的副本。
mlreportgen.report.Chapter.createTemplate(... "chapterTemplate.dotx", "docx");
在 MATLAB® 的当前文件夹窗格中,右键点击模板文件,然后点击在 MATLAB 外部打开。
在开发人员选项卡上,启用设计模式。如果开发工具选项卡不可用,点击文件 > 选项,然后点击自定义功能区。在主选项卡下,点击开发工具复选框。
在插入选项卡上,点击快速部件。选择 Section1
文档部件模板。
选择文档部件模板的内容。在布局选项卡上的页面设置组中,点击页面设置对话框启动器。将纸张大小和边距修改为 A4 值:
上、下、左、右边距为 0.98 英寸。
页眉和页脚高度为 0.5 英寸。
装订线尺寸(装订页面的空间)为 0。
纵向页面尺寸为 8.27 英寸 x 11.69 英寸。
点击确定并 关闭对话框。
在插入选项卡上,点击快速部件并选择保存所选内容到快速部件库。
在“创建新构建块”对话框中,输入您修改的文档部件模板的名称,即 Section1
,并选择 mlreportgen
类别。响应提示以覆盖以前的版本。
删除文档部件模板的内容,然后保存并关闭模板。
在报告中使用自定义模板
使用自定义模板创建有关幻方阵(即列、行和对角线之和为相同数字的矩阵)的 Word 报告。
导入 DOM 和报告 API 包
导入 DOM 和报告 API 包以避免必须使用完全限定的类名。
import mlreportgen.report.*; import mlreportgen.dom.*;
创建报告容器。
rpt = Report("report","docx");
添加标题页
创建标题页并指定标题、副标题和作者。
title = TitlePage("Title", "Magic Squares"); title.Subtitle = "Columns, Rows, Diagonals: All Equal Sums"; title.Author = "Albrecht Durer";
使用自定义标题页模板生成标题页。
title.TemplateSrc= fullfile(pwd,"titlePageTemplate.dotx");
将标题页添加到报告。
append(rpt,title);
添加目录
toc = TableOfContents;
使用自定义目录模板生成目录。
toc.TemplateSrc = fullfile(pwd,"tableOfContentsTemplate.dotx");
将目录添加到报告中。
append(rpt,toc);
添加章节
创建章节并指定标题。
chapter = Chapter("Introduction");
使用自定义章节模板生成章节。
chapter.TemplateSrc = fullfile(pwd,"chapterTemplate.dotx");
创建一个节并向其中添加一个段落。
sec1 = Section("What is a Magic Square?"); para = Paragraph("A magic square is an N-by-N matrix " + ... "constructed from the integers 1 through N^2 " + ... "with equal row, column, and diagonal sums."); append(sec1,para)
将该节添加到章节中。
append(chapter,sec1)
创建另一个节并向其中添加一个段落。
sec2 = Section("Albrect Durer and the Magic Square"); para = Paragraph( ... "The German artist Albrecht Durer (1471-1528) created " + ... "many woodcuts and prints with religious and " + ... "scientific symbolism. One of his most famous works, " + ... "Melancholia I, explores the depressed state of mind " + ... "which opposes inspiration and expression. " + ... "Renaissance astrologers believed that the Jupiter " + ... "magic square (shown in the upper right portion of " + ... "the image) could aid in the cure of melancholy. The " + ... "engraving""s date (1514) can be found in the " + ... "lower row of numbers in the square."); append(sec2,para);
将该节添加到章节中。
append(chapter,sec2);
将该章节添加到报告中。
append(rpt,chapter);
关闭并查看文档
close(rpt); rptview(rpt);
另请参阅
mlreportgen.report.TitlePage
| mlreportgen.report.TableOfContents
| mlreportgen.report.Chapter