Main Content

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

创建和格式化文本

创建文本

您可以通过将字符向量追加到文档、段落、表格条目或列表项来创建文本。DOM append 函数将字符向量转换为 Text 对象、追加它并返回 Text 对象。使用 Text 对象来格式化文本。您还可以直接创建文本对象并将其追加到文档中。此示例:

  • 通过追加 'Hello' 文档来创建 Text 对象 t1

  • 使用 Text 构造函数创建 Text 对象并将文本 'World' 追加到文档

import mlreportgen.dom.*
d = Document('mydoc','html');

t1 = append(d,'Hello'); 

append(d,Text('World'));

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

创建特殊字符

您可以通过创建 mlreportgen.dom.CharEntity 对象来定义特殊字符(例如英镑符号)以包含在报告中。指定 https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references 中列出的字符实体的名称。例如:

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

p = Paragraph(CharEntity('pound'));
append(d,p);
append(p,'3');

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

追加 HTML 或 XML 标记

要将 HTML 标记追加到 HTML 文档或将 Microsoft® Word XML 标记追加到 Word 文档,请使用 mlreportgen.dom.RawText 对象。此技术对于创建 DOM API 不直接支持的 HTML 或 Word 元素很有用。此示例显示如何创建 RawText 对象来追加 HTML 标记。

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

append(d,RawText('<em>Emphasized Text</em>'));

close(d);
rptview('test','html');

设置文本格式

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

通过编程来格式化文本

您可以使用格式对象来格式化 Text 对象或格式属性来指定常用的文本格式。此示例使用:

  • FontFamily 格式的对象,用于指定主字体和备用字体

  • Bold 格式属性用于指定文本粗细

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

t = append(d,'Bold Arial text');

fontFamily = FontFamily('Arial');
fontFamily.BackupFamilyNames = {'Helvetica'};
t.Style = {fontFamily};

t.Bold = true;         

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

不适用

保留空白

WhiteSpace

WhiteSpace

按指定显示

Display

不适用

使用 Microsoft Word 样式表格式化文本

您可以使用生成报告的 Word 模板中定义的样式来设置段落的格式。

要在 Word 模板中定义文本样式,请首先执行以下步骤:

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

  2. 打开样式窗格。

  3. 点击管理样式按钮

  4. 点击新建样式

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

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

使用样式表格式化 HTML 和 PDF 文本

您可以使用生成报告的模板中定义的样式来格式化文本。将模板样式应用于 Text 对象,作为 Text 对象构造函数中的第二个参量,或者通过将 StyleName 属性设置为模板样式。

要定义样式,请使用层叠样式表 (CSS) 语法。使用 span 元素上的选择器来指定样式名称。此 CSS 定义了一个名为 Pass 的样式。

span.Pass {
  font-family: "Times New Roman", Times, serif;
  color: green;
}

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

将样式应用于文本对象

将模板样式应用于 Text 对象,作为 Text 对象构造函数中的第二个参量,或者通过将 StyleName 属性设置为模板样式。假设您在报告模板中定义了名为 BodyPassFail 的样式。然后您就可以应用这些样式。

import mlreportgen.dom.*;
passed = rand(1) >= 0.5;
rpt = Document('MyReport','html','MyTemplate');

t1 = Text('Test status: ');
t1.StyleName = 'Body';
t1.WhiteSpace = 'preserve';

if passed
  status = 'Passed';
  statusStyle = 'Pass';
else
  status = 'Failed';
  statusStyle = 'Fail';
end

t2 = Text(status,statusStyle);
statusPara = Paragraph(t1);
append(statusPara,t2);
append(rpt, statusPara);

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

覆盖模板格式

您可以使用编程格式来覆盖基于模板的样式中定义的格式。假设您在模板中定义一个名为 AlertLevel 的样式,将颜色设置为绿色。您可以覆盖报告程序中的样式以根据当前警报级别设置颜色:

t = Text('Danger!','AlertLevel');
t.Color = 'red';

另请参阅

相关示例

详细信息