创建一个目录
您可以在报表程序中创建目录,也可以使用模板定义TOC。要以编程方式创建TOC,请添加mlreportgen.dom.TOC
对象添加到您的报表文档。
使用模板可确保使用该模板的所有报表程序创建相同类型的TOC。另外,使用模板时,如果格式发生更改,则只能在一个地方更新TOC。
如果你正在使用模板,你可以:
在Word模板或HTML或PDF模板包中包含TOC引用(
root.html
).为TOC创建文档部件模板,并以编程方式插入文档部件。
使用任何一种方法,报表程序都必须创建指定数字级别的标题对象或指定大纲级别的段落对象。TOC生成器使用带有级别信息的内容来定义结构。
在报告程序中创建TOC
DOM API支持自动生万博1manbetx成文档的目录。启用自动生成TOC:
使用
段
或标题对象(标题
,Heading1
,等等),以指定章节标题。如果你使用段
对象作为标题时,必须设置段落的OutlineLevel
属性设置为适当的值,例如,章节或其他顶级标题设置为1。在您想要生成TOC的文档中插入TOC占位符。您可以通过编程方式或在文档的模板中插入TOC占位符。
以编程方式创建TOC
若要以编程方式创建TOC占位符,请添加mlreportgen.dom.TOC
对象,您想在其中生成TOC。您可以指定TOC中包含的级别数和领导者的类型。默认值是3个级别和一个点前导。这个例子使用了两个级别和一个点前导。
进口mlreportgen.dom。*;d =文件(“mydoc”,“pdf”);开放(d);title = append(d,段落)“我的TOC文件”));标题。粗体=真;标题。字形大小=“28 pt”;toc = append(d, toc (2));toc。Style = {PageBreakBefore(true)};h1 = append(d,Heading1(“第一章”));h1。Style = {PageBreakBefore(true)};p1 = append(d,段落)“Hello World”));h2 = append(d,Heading2(“1.1节”));h2。Style = {PageBreakBefore(true)};p2 = append(d,段落(另一个页面的));h3 = append(d,Heading3(“我的分段1.1.a”));p3 = append(d,段落(“我的三级标题文本”));关闭(d);rptview (d.OutputPath);
使用模板创建Microsoft Word TOC
可以使用Word在Word文档或文档部分模板中插入Word TOC引用对象。Word在更新文档时将TOC引用替换为自动生成的TOC。
使用包含TOC引用的模板在DOM Word报告中生成一个目录:
要指定在报告中生成TOC的位置,请在Word模板中创建一个内容引用表。看到创建一个Word目录参考.
设置要出现在目录中的节头的大纲级别。看到设置科长的大纲级别.
更新生成的文档。看到更新Word报表中的TOC.
创建一个Word目录参考
在Word中打开模板。
单击要创建目录的位置。
在参考文献选项卡上,单击目录.
选择TOC格式选项以生成目录。例如,选择内置的格式选项。出现TOC。
保存模板。
注意:如果希望使用文档部分插入TOC,请在文档部分的模板中插入TOC引用。保存前先从模板中删除实例。看到创建一个Microsoft Word文档部分模板库而且使用文档部件以编程方式插入TOC占位符. |
更新Word报表中的TOC
必须更新包含TOC引用的Word文档才能生成TOC。在Windows上®系统,DOM APIrptview
命令使用Word更新它所显示的Word文档。如果直接打开Word文档,例如在非Windows系统上通过DOM API生成的文档,则必须更新TOC。
在Word模板中,选择TOC引用。
在参考文献选项卡上,单击更新表.
在“更新目录”对话框中,选择更新整个表并点击好吧.
在HTML或PDF模板中创建目录
使用PDF或HTML模板添加TOC时,您可以:
在主模板中包含一个内容占位符表(
root.html
)。在文档部件模板中包含TOC占位符。
使用文档部分模板在HTML或PDF报告中创建目录:
定义包含TOC占位符的文档部件模板。
以编程方式将文档部分插入到报表中。
使用
段
或标题对象(标题
,Heading1
,等等)来指定报告的标题。如果你使用段
对象作为标题时,必须设置其OutlineLevel
属性设置为适当的值。
为TOC定义文档部件模板
要为TOC创建或修改文档部件模板,请使用以下形式的代码:
.
您可以:
取代
ReportTOC
用你喜欢的名字集
层数
到要包含在TOC中的标题的级别数集
leader-pattern
来点
或空间
有关示例,请参见PDF和HTML文档部分和漏洞.
使用文档部件以编程方式插入TOC占位符
使用DocumentPart
类来插入包含TOC占位符的文档部分的实例。如果在模板中定义了文档部分模板,则在定义文档对象时包含模板包名称。例如:
d =文件(“MyReport”,“html”,“MyTemplate”);
这段代码使用了提供的文档部分ReportTOC
在默认模板中生成一个目录。
进口mlreportgen.dom。*;d =文件(“MyReport”,“pdf”);追加(d,“我的报告”);追加(d, DocumentPart (d,“ReportTOC”));追加(d, Heading1 (“第一章”));追加(d, Heading2 (“第一节”));关闭(d);rptview (d.OutputPath);
提示属性的变量 追加(d, DocumentPart (d,“ReportTOC”));
如果使用此语法,则在引用文档部分时不需要调用模板并指定文档类型。这种方法简化了代码并更有效地生成报告。 |
设置科长的大纲级别
要在报告中生成目录,程序必须设置内容中所需的节头的大纲级别。大纲级别是一个段落格式属性,用于指定段落的内容是否以及在什么级别出现在目录中。例如,如果一个段落的大纲级别为1,则该内容将显示在生成的目录的顶层。您最多可以指定9个大纲级别。
要设置段落的大纲级别,可以使用以下方法中的一种。
使用模板定义的样式来设置大纲级别
您可以使用报表模板中定义的样式来设置段落的大纲级别。默认情况下,Word文档包含一组样式,标题1
,标题2
等等,它们定义了大纲级别。您的程序可以使用这些内置样式来指定这些头显示在TOC中。本示例使用模板定义的样式来设置节头的轮廓级别,并假设模板MyTemplate
包括TOC引用。
进口mlreportgen.dom。*;d =文件(“MyReport”,“多克斯”,“MyTemplate”);追加(d,段(“第一章”,“标题1”));追加(d,段(“第一节”,“标题2”));关闭(d);rptview (d.OutputPath);%更新TOC
您还可以使用Word或HTML编辑器定义自己的标题样式,然后使用它们生成报告。
使用格式对象设置大纲级别
您可以使用格式对象来设置大纲级别。本例假设模板MyTemplate
包括TOC引用。
进口mlreportgen.dom。*;d =文件(“MyReport”,“多克斯”,“MyTemplate”);h1 = {FontFamily(“天线”)、字形大小(“16 pt”), OutlineLevel (1)};h2 = {FontFamily(“天线”)、字形大小(“14 pt”), OutlineLevel (2)};p = append(d,段落)“第一章”));p.Style = h1;p = append(d,段落)“第一节”));p.Style = h2;关闭(d);rptview (d.OutputPath);%更新TOC
使用标题对象设置大纲级别
你可以使用mlreportgen.dom.Heading1
对象(和Heading2
,Heading3
,等等)来指定大纲级别。一个Heading1
对象是其构造函数指定其大纲级别的段落。你可以使用Heading1
对象单独使用或与基于模板的样式或基于格式对象的样式一起使用。本例假设模板MyTemplate
包括TOC引用。
进口mlreportgen.dom。*;d =文件(“MyReport”,“多克斯”,“MyTemplate”);h1 = {FontFamily(“天线”)、字形大小(“16 pt”)};h2 = {FontFamily(“天线”)、字形大小(“14 pt”)};h = append(d,Heading1(“第一章”));h.Style = h1;h = append(d,Heading2(“第一节”));p.Style = h2;关闭(d);rptview (d.OutputPath);%更新TOC
在HTML和PDF报告中Heading1
而且Heading2
对象生成HTML元素h1
而且h2
.通过使用对象Heading1
,Heading2
,等等,您可以确保您的报告使用默认的标题样式。