Main Content

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

在报告 API 报告中创建相关报告元素的说明和标题列表

在报告 API 报 告中,您可以创建相关报告元素(例如方程)的题注或标题列表,以便浏览该列表并轻松导航到特定的报告元素。要创建报告元素列表,请使用 mlreportgen.report.ListOfCaptions 报告器。

注意

如需图窗列表,请使用 mlreportgen.report.ListOfFigures 报告器。要获得表格列表,请使用 mlreportgen.report.ListOfTables 报告器。请参阅 Create a List of Figures or Tables

要使用 ListOfCaptions 报告器,您必须为报告元素的题注或标题创建一个段落。然后,将该段落与一个自动编号流名称关联起来,该名称与 ListOfCaptions 对象的自动编号流名称匹配。

ListOfCaptions 报告器在报告的新部分中为列表创建了一个占位符。通常,您会在目录之后和包含报告内容的报告节之前添加题注列表节。在 PDF 或 Microsoft® Word 报 告中,题注列表位于您在报告中将其置于的位置。在 HTML 报 告中,该部分位于侧边栏。

题注列表的生成方式取决于报告类型:

  • PDF -报告 API 在报告生成期间生成列表。

  • Word - 您必须通过在报告生成程序中更新 Word 文档或在 Word 中交互来生成列表。请参阅更新 Word 文档中的目录和生成的列表

  • HTML - HTML 浏览器生成列表。

标题列表中的每个列表项都链接到报告中的标题或标题。在 PDF 和 Word 报 告中,列表项还包括报告中题注或标题的页码,并且引导符填充题注或标题与页码之间的空白。

要创建题注列表:

  1. 创建报告 API 报 告。

  2. 创建 mlreportgen.report.ListOfCaptions 对象。

  3. 通过设置 ListofCaptions 对象的 Title 属性来指定题注列表节的标题。

  4. 选择编号流名称,例如 equation。将 ListOfCaptions 对象的 AutoNumberStreamName 属性设置为编号流名称。

  5. ListofCaptions 对象添加到报告中。

  6. 为报告内容创建章节或节。

  7. 向章节或部分添加内容。为想要包含在题注列表中的报告元素的题注或标题创建 mlreportgen.dom.Paragraph 对象。使用 mlreportgen.dom.AutoNumber 对象将段落与分配给 ListofCaptions 对象的 AutoNumberStreamName 属性的相同自动编号流名称关联。

  8. 关闭报告。

创建包含标题列表部分的报告

此示例显示如何在报告中创建题注列表部分。该示例生成一份关于物理方程的报告,并将方程题注的列表添加到报告中。

导入 DOM 和报告 API 包,这样您就不必使用长而完全限定的类名。

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

创建报告。

rpt = Report("physics","docx");

为报告添加标题页和目录。

tp = TitlePage();
tp.Title = "Physics Principles";
tp.Author = "John Doe";
append(rpt,TableOfContents);

创建题注列表节。

loc = ListOfCaptions();
loc.Title = "List of Equations";

定义一个自动编号流名称以与 ListOFCaptions 对象一起使用。

equationStreamName = "equation";
loc.AutoNumberStreamName = equationStreamName;

将题注列表节添加到报告中。

append(rpt,loc);

为报告内容创建章节。对于此示例,创建两个章节。每章都有一个方程。

创建第一章。添加一个段落并在其中添加一个方程。

ch1 = Chapter("Force");
append(ch1,Paragraph("Calculate force by multiplying mass and acceleration."));
eq1 = Equation("F = ma");
append(ch1,eq1);

为公式题注创建一个段落,并将自动编号流名称与题注关联。

caption1 = Paragraph("Equation ");
append(caption1,AutoNumber(equationStreamName));

为题注定义一种样式。包括一个 mlreportgen.report.CounterInc 对象来增加编号流的计数器。

equationCaptionsStyle = {HAlign("center"),CounterInc(equationStreamName),WhiteSpace("preserve")};
caption1.Style = equationCaptionsStyle;

添加其余的题注文本并将题注添加到章。

append(caption1,".");
append(caption1," Force");
append(ch1,caption1);

将该章节添加到报告中。

append(rpt,ch1);

創作第二章。添加一个段落,并在段落中添加一个等式。

ch2 = Chapter("Momentum");
append(ch2,Paragraph("Calculate momentum by multiplying mass and velocity."));
eq2 = Equation("p = mv");
append(ch2,eq2);

为公式题注创建一个段落,并将自动编号流名称与题注关联。

caption2 = Paragraph("Equation ");
append(caption2,AutoNumber(equationStreamName));

指定题注的样式。

caption2.Style = equationCaptionsStyle;

添加其余的题注文本并将题注添加到章。

append(caption2,".");
append(caption2," Momentum");
append(ch2,caption2);

将该章节添加到报告中。

append(rpt,ch2);

关闭并查看报告。

close(rpt);
rptview(rpt);

以下是报告中方程的列表:

自定义标题列表部分标题

您可以通过设置 ListOfCaptions 报告器的 Title 属性来指定题注列表节的标题。要自定义标题的样式(例如字体系列、颜色或大小),请使用以下方法之一:

另请参阅

| |

相关主题