主要内容

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

创建和格式化段落

创建段落

您可以使用带有字符向量的 mlreportgen.dom.Paragraph 构造函数来创建段落。例如:

p = Paragraph("Text for a paragraph");

您还可以在 Paragraph 对象构造函数中指定这些 DOM 对象。

  • mlreportgen.dom.Text

  • mlreportgen.dom.ExternalLink

  • mlreportgen.dom.InternalLink

  • mlreportgen.dom.LinkTarget

  • mlreportgen.dom.Image

创建标题

标题是段落的一种类型。您可以使用 mlreportgen.dom.Heading1Heading2 等来创建标题。或者,如果您想使用以编程方式派生的值作为标题级别,则可以使用 mlreportgen.dom.Heading 对象。

此示例使用文本 Chapter 1: System Overview 创建一级标题。如果您创建目录,此标题将出现在顶层。

h1 = Heading1("Chapter 1: System Overview");

段落格式

您可以使用 DOM 格式对象或格式属性来格式化段落。您还可以使用模板样式。有关这些格式化技术和格式继承的信息,请参阅 报告格式化方法

注意

您可以对标题对象(HeadingHeading1Heading2 等等)使用与 Paragraph 对象相同的格式对象和属性。

通过编程设置段落格式

您可以使用 DOM API 格式对象来格式化 Paragraph 对象或格式化属性来指定常用的段落格式。此示例使用:

  • OuterMargin 格式对象,用于指定段落的边距

  • HAlign 格式属性使段落居中

import mlreportgen.dom.*;
d = Document("test","html");

p = Paragraph("Indent a half inch and space after 12 points.");
p.Style = {OuterMargin("0.5in","0in","0in","12pt")};
append(d,p);

p = Paragraph("Centered paragraph");
p.HAlign = "center";
append(d,p);

close(d);
rptview(d.OutputPath);

使用这些对象和属性来格式化段落。

格式化 格式化对象格式属性

字体

FontFamily

FontFamilyName

备选字体(仅限 HTML)

FontFamily

不适用

复杂字体(例如阿拉伯语)

FontFamily

不适用

东亚字体

FontFamily

不适用

字体大小

FontSize

FontSize

前景颜色

Color

Color

背景色

BackgroundColor

BackgroundColor

粗体

Bold

Bold

斜体

Italic

Italic

下标或上标

VerticalAlign

不适用

删除线

Strike

Strike

下划线类型

Underline

Underline

下划线颜色

Underline

不适用

在段落周围创建边框

Border

不适用

保留空白

WhiteSpace

WhiteSpace

缩进段落

OuterMargin

OuterLeftMargin

段落首行缩进

FirstLineIndent

FirstLineIndent

悬挂缩进

FirstLineIndent

不适用

段前段后空格

OuterMargin

不适用

段落右侧的空格

OuterMargin

不适用

段落与其边界框之间的间距

InnerMargin

不适用

段落行之间的间距

LineSpacing

不适用

段落左对齐、居中对齐、右对齐

HAlign

HAlign

从下一页开始段落

PageBreakBefore

不适用

保留下一段

KeepWithNext

不适用

保持段落在同一页上

KeepLinesTogether

不适用

消除多出的孤行

WidowOrphanControl

不适用

目录段落级别

OutlineLevel

OutlineLevel

按指定显示

Display

不适用

使用模板样式设置 Microsoft Word 的段落格式

您可以使用 Word 模板中的样式来设置段落的格式。您可以向模板添加样式或修改现有样式。

要添加段落样式:

  1. 打开报告使用的 Word 模板。

  2. 打开样式窗格。

  3. 点击管理样式按钮

  4. 点击新建样式

  5. 在根据格式创建新样式对话框中,将样式类型设置为字符链接段落和字符

  6. 根据需要格式化样式。

有关使用 Word 样式的更多信息,请参阅 修改 Microsoft Word 模板中的样式

使用 PDF 或 HTML 模板样式设置段落格式

您可以使用模板中的 HTML 或 PDF 样式表中的样式来格式化段落。您可以向模板添加样式或修改现有样式。

使用 p 元素上的选择器定义样式。此示例定义了 BodyPara 段落样式。

p.BodyPara {
  font-family: "Times New Roman", Times, serif;
  font-style: normal;
  font-size: 11pt;
  color: black;
  margin-left: 0.5in;
}

您可以在 HTML 模板中使用任何 CSS 属性和选择器。对于 PDF 模板,您可以使用 CSS 属性和选择器的子集。请参阅修改 PDF 模板中的样式

有关将 HTML 样式与 DOM 对象结合使用的详细信息,请参阅 修改 HTML 模板中的样式

将样式应用于段落对象

将模板样式应用于 Paragraph 对象,作为 Paragraph 对象构造函数中的第二个参量,或者通过将段落上的 StyleName 属性设置为模板样式。

假设您在模板中定义了名为 BodyParaMyTitle 的样式。此示例首先在 Paragraph 构造函数中指定样式名称。然后它以 Paragraph 对象 StyleName 格式属性指定样式。此示例假设两种样式均在 MyTemplate 中定义。

import mlreportgen.dom.*;
rpt = Document("MyReport","html","MyTemplate");

% Specify style name using an argument when you create the Paragraph
p = Paragraph("Format this paragraph using a body style.","BodyPara");
append(rpt,p);

p = Paragraph("This paragraph is formatted using a title style.");

% Specify  style name using a property on the paragraph
p.StyleName = "MyTitle";
append(rpt,p);

close(rpt);
rptview(rpt.OutputPath);

覆盖模板格式

您可以使用编程格式来覆盖基于模板的段落样式中定义的段落格式。假设您在 Word 模板中定义一个名为 BodyPara 的段落样式,并将 KeepWithNext 属性设置为 off。您可以覆盖报告程序中的样式,以使特定段落与下一段保持在同一页面上:

import mlreportgen.dom.*;
rpt = Document("MyReport","docx","MyTemplate");

p = Paragraph("Keep this body paragraph with next.","BodyPara");
p.Style = {"KeepWithNext"};
append(rpt,p);

p = Paragraph("Next paragraph.");
append(rpt, p);

close(rpt);
rptview(rpt.OutputPath);

另请参阅

主题