主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

使用模板自定义 PDF 报告的页面大小和边距

此示例显示如何使用报告 API 报告模板自定义 PDF 报告中的页面大小以及页边距、页眉、页脚和装订线的大小。或者,您可以使用程序化方法。如果您计划对模板进行其他修改,请使用基于模板的方法。否则,请使用程序化方法。有关使用程序化方法的示例,请参阅 通过编程自定义报告的页面大小和边距

默认情况下,报告 API 会生成 8.5 × 11 英寸的纵向页面,边距为 1 英寸。页眉和页脚各为半英寸宽,并且装订线为零像素。您可能需要在报告中更改这些尺寸。例如,如果您正在为欧洲地区生成报告,则可能需要生成 A4 页面。此示例显示如何生成 A4 页面。使用相同的步骤生成其他页面尺寸。

要更改报告 API 报告的页面尺寸,您必须更改 mlreportgen.report.TitlePagemlreportgen.report.TableOfContentsmlreportgen.report.Chapter 报告器的模板指定的尺寸。此示例展示如何修改和使用每个报告器的 PDF 模板。

自定义标题页 PDF 模板

创建 mlreportgen.report.TitlePage 报告器默认 PDF 模板的副本。

mlreportgen.report.TitlePage.createTemplate(...
    "titlePageTemplate.pdftx", "pdf");

解压模板。

unzipTemplate("titlePageTemplate.pdftx"); 

打开解压后的 titlePageTemplate 文件夹。

在 HTML 或文本编辑器中,打开 docpart_templates.html 文件。

要将页面大小和边距修改为 A4 值,请修改 page-margin 元素的 page-size 属性的 stylelayout 属性。

page-margin 属性值设置为:

0.98in 0.98in 0.98in 0.98in 0.5in 0.5in 0in

此值按以下顺序指定边距:

  1. 上边距为 0.98 英寸。

  2. 左边距为 0.98 英寸

  3. 底部边距为 0.98 英寸

  4. 右边距 0.98 英寸

  5. 0.5 英寸标题

  6. 0.5 英寸页脚

  7. 装订线尺寸为 0

page-size 属性设置为:

8.27in 11.69in portrait

此值指定纵向页面尺寸为 8.27 x 11.69 英寸。

模板现在如下所示:

保存 docpart_templates.html 文件。

压缩模板。

zipTemplate("titlePageTemplate.pdftx");

自定义目录 PDF 模板

创建 mlreportgen.report.TableOfContents 报告器默认 PDF 模板的副本。

mlreportgen.report.TableOfContents.createTemplate(...
    "tableOfContentsTemplate.pdftx", "pdf");

解压模板。

unzipTemplate("tableOfContentsTemplate.pdftx"); 

打开解压后的 tableOfContentsTemplate 文件夹。

在 HTML 或文本编辑器中,打开 docpart_templates.html 文件。

要将页面大小和边距修改为 A4 值,请修改 page-margin 元素的 page-size 属性的 stylelayout 属性。

page-margin 属性值设置为:

0.98in 0.98in 0.98in 0.98in 0.5in 0.5in 0in

此值按以下顺序指定边距:

  1. 上边距为 0.98 英寸。

  2. 左边距为 0.98 英寸

  3. 底部边距为 0.98 英寸

  4. 右边距 0.98 英寸

  5. 0.5 英寸标题

  6. 0.5 英寸页脚

  7. 装订线尺寸为 0

page-size 属性设置为:

8.27in 11.69in portrait

此值指定纵向页面尺寸为 8.27 x 11.69 英寸。

模板现在如下所示:

保存 docpart_templates.html 文件。

压缩模板。

zipTemplate("tableOfContentsTemplate.pdftx");

自定义章节 PDF 模板

创建 mlreportgen.report.Chapter 报告器默认 PDF 模板的副本。

mlreportgen.report.Chapter.createTemplate(...
    "chapterTemplate.pdftx", "pdf");

解压模板。

unzipTemplate("chapterTemplate.pdftx"); 

打开解压后的 chapterTemplate 文件夹。

在 HTML 或文本编辑器中,打开 docpart_templates.html 文件。

要将页面大小和边距修改为 A4 值,请修改 page-margin 元素的 page-size 属性的 stylelayout 属性。

page-margin 属性值设置为:

0.98in 0.98in 0.98in 0.98in 0.5in 0.5in 0in

此值按以下顺序指定边距:

  1. 上边距为 0.98 英寸。

  2. 左边距为 0.98 英寸

  3. 底部边距为 0.98 英寸

  4. 右边距 0.98 英寸

  5. 0.5 英寸标题

  6. 0.5 英寸页脚

  7. 装订线尺寸为 0

page-size 属性设置为:

8.27in 11.69in portrait

此值指定纵向页面尺寸为 8.27 x 11.69 英寸。

模板现在如下所示:

保存 docpart_templates.html 文件。

压缩模板。

zipTemplate("chapterTemplate.pdftx");

在报告中使用自定义模板

使用自定义模板创建有关幻方阵的 PDF 报告,幻方阵是列、行和对角线之和等于相同数字的矩阵。

导入 DOM 和报告 API 包

导入 DOM 和报告 API 包以避免必须使用完全限定的类名。

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

创建报告容器。

rpt = Report("report","pdf");

添加标题页

创建标题页并指定标题、副标题和作者。

title = TitlePage("Title", "Magic Squares");
title.Subtitle = "Columns, Rows, Diagonals: All Equal Sums";
title.Author = "Albrecht Durer"; 

使用自定义标题页模板生成标题页。

title.TemplateSrc = fullfile(pwd,"titlePageTemplate.pdftx");

将标题页添加到报告。

append(rpt,title);

添加目录

toc = TableOfContents;

使用自定义目录模板生成目录。

toc.TemplateSrc = fullfile(pwd,"tableOfContentsTemplate.pdftx");

将目录添加到报告中。

append(rpt,toc);

添加章节

创建章节并指定标题。

chapter = Chapter("Introduction"); 

使用自定义章节模板生成章节。

chapter.TemplateSrc = fullfile(pwd,"chapterTemplate.pdftx");

创建一个节并向其中添加一个段落。

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

另请参阅

| |

主题