创建和格式化文本
创建文本
您可以通过将字符向量追加到文档、段落、表格条目或列表项来创建文本。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);
使用这些格式对象和格式属性来格式化文本。
格式化 | 格式对象 | 格式属性 |
---|---|---|
字体 |
|
|
备份字体(仅限 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