创建和格式化文本
创建文本
您可以通过将字符向量追加到文档、段落、表条目或列表项来创建文本。DOM append
函数将字符向量转换为 Text
对象、追加它并返回 Text
对象。使用 Text
对象来格式化文本。您还可以直接创建文本对象并将其追加到文档中。此示例:
通过追加
Text
文档来创建t1
对象"Hello"
使用
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);
使用这些格式对象和格式属性来格式化文本。
格式化 | 格式化对象 | 格式属性 |
---|---|---|
字体 |
|
|
备选字体(仅限 HTML) |
| 不适用 |
复杂字体(例如阿拉伯语) |
| 不适用 |
东亚字体 |
| 不适用 |
字体大小 |
|
|
前景颜色 |
|
|
背景色 |
|
|
粗体 |
|
|
斜体 |
|
|
下标或上标 |
| 不适用 |
删除线 |
|
|
下划线类型(单下划线、双下划线等) |
|
|
下划线颜色 |
| 不适用 |
保留空白 |
|
|
按指定显示 |
| 不适用 |
使用 Microsoft Word 样式表格式化文本
您可以使用生成报告的 Word 模板中定义的样式来设置段落的格式。
要在 Word 模板中定义文本样式,请首先执行以下步骤:
打开报告使用的 Word 模板。
打开样式窗格。
点击管理样式按钮
。
点击新建样式。
在根据格式创建新样式对话框中,将样式类型设置为字符或链接段落和字符。
有关使用 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
属性设置为模板样式。假设您在报告模板中定义了名为 Body
、Pass
和 Fail
的样式。然后您就可以应用这些样式。
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";
另请参阅
类
mlreportgen.dom.Text
|mlreportgen.dom.CharEntity
|mlreportgen.dom.FontFamily
|mlreportgen.dom.FontSize
|mlreportgen.dom.Bold
|mlreportgen.dom.Italic
|mlreportgen.dom.Underline
|mlreportgen.dom.Strike