数字部分标题,表标题,和图标题编程
这个例子展示了如何以编程方式为章节创建编号的标题,以及如何为章节中的子节创建分层编号的标题。该示例还演示了如何创建分层编号的表标题和图标题,它们驻留在编号的章节或章节中的子小节中。
导入DOM API包,这样就不必使用长且完全限定的类名。
进口mlreportgen.dom。*
创建并打开一个文档。若要创建Word文档,请将输出类型更改为pdf
来多克斯
.要创建HTML文档,请更改pdf
来超文本标记语言
或html文件
分别用于多文件或单文件文档。
d =文件(“mydoc”,“pdf”);开放(d);
在文件后面附加一个目录。
追加(d, TOC);
为章节标题、分段标题、图表标题和表格标题创建编号流。默认情况下,流是使用初始值为的阿拉伯数字创建的0
.
chapterStream = createAutoNumberStream(d,“章”);sectionStream = createAutoNumberStream(d,“节”);figureStream = createAutoNumberStream(d,“图”);tableStream = createAutoNumberStream(d,“表”);
定义一些图像、表和表项样式,这些样式将在后面的部分中使用。
imageStyle =...{...高度(“5”),...宽度(“5”)...};tableStyle =...{...宽度(“100%”),...边界(“固体”),...RowSep (“固体”),...ColSep (“固体”)...};tableEntriesStyle =...{...HAlign (“中心”),...VAlign (“中间”)...};
下面的代码创建文档中的第一章。方法创建章节标题getChapterTitle
函数。此函数使用章
编号流来创建一个编号的章节标题。该章节由两个子部分组成,它们的标题是使用getSectionTitle
函数。此函数同时使用章
而且部分
编号流以创建分层编号的节标题。子节由多个具有分层编号标题的图形组成,这些标题是使用getFigureCaption
函数。此函数同时使用章
而且数字
编号流以创建分层编号的图形标题。的getChapterTitle
,getSectionTitle
,getFigureCaption
本例后面将描述用于创建本章的函数。
第一章。chapterTitle = getChapterTitle(附有编号标题的数字);追加(d, chapterTitle);第1.1节。sectionTitle = getSectionTitle(“陆地及海洋数字”);追加(d, sectionTitle);图1.1。image1 =图像(其中(“landOcean.jpg”));image1。风格=imageStyle; append(d,image1); append(d,getFigureCaption(“土地海洋”));1.2节。sectionTitle = getSectionTitle(《辣椒和猫眼星云图》);追加(d, sectionTitle);图1.2. %image2 =图像(其中(“peppers.png”));image2。风格=imageStyle; append(d,image2); append(d,getFigureCaption(“辣椒”));图1.3. %image3 =图像(其中(“ngc6543a.jpg”));image3。风格=imageStyle; append(d,image3); append(d,getFigureCaption(猫眼星云或ngc6543));
下面的代码创建文档中的第二章。该章节有一个编号的标题和两个分层编号的子节。在这里,子节由多个具有分层编号标题的表组成,这些表是使用getTableTitle
函数,在本例后面定义。此函数同时使用章
而且表格
编号流以创建分层编号的表标题。
第二章。chapterTitle = getChapterTitle(“有编号标题的表格”);追加(d, chapterTitle);2.1节。sectionTitle = getSectionTitle(魔法桌(5));追加(d, sectionTitle);表2.1. %追加(d, getTableTitle (“魔(5)”));table1 = Table(magic(5));表1。风格=表格风格; table1.TableEntriesStyle = tableEntriesStyle; append(d,table1);2.2节。sectionTitle = getSectionTitle(魔术表(8)和魔术表(10));追加(d, sectionTitle);表2.2. %追加(d, getTableTitle (“魔(8)”));table2 = Table(magic(8));表二。风格=表格风格; table2.TableEntriesStyle = tableEntriesStyle; append(d,table2);表2.3. %追加(d, getTableTitle (“魔(10)”));table3 = Table(magic(10));table3。风格=表格风格; table3.TableEntriesStyle = tableEntriesStyle; append(d,table3);
关闭并查看文档。
关闭(d);rptview (d);
下面的函数返回章节的编号标题。编号的标题是使用DOM创建的Heading1
对象,其中标题内容以字符串作为前缀N章
一个周期,其中N
是章
流计数器。例如,第一章的标题包含“chapter 1.”作为前缀。的CounterInc
格式风格
属性导致章
当此章节标题附加到文档时,将递增的流计数器。的CounterReset
格式风格
属性导致其他相关流计数器,例如:部分
,数字
,表格
,当此章节标题附加到文档时,将重置为它们的初始值。
函数chapterTitle = getChapterTitle(content) importmlreportgen.dom。*chapterTitle = Heading1();追加(chapterTitle文本(“章”));追加(chapterTitle AutoNumber (“章”));追加(chapterTitle文本(“。”));追加(chapterTitle、文本(内容));chapterTitle。风格=...{...CounterInc (“章”),...CounterReset (“截面图表”),...空白(“保存”),...PageBreakBefore(真正的),...KeepWithNext(真正的)...};结束
下面的函数为章节中的节返回一个分层编号的标题。使用DOM创建分层编号的标题Heading2
对象,其中标题内容以字符串“N.M.”为前缀,其中N和M是章
而且部分
流计数器。例如,第二章第一节的标题包含“2.1”作为前缀。的CounterInc
格式风格
属性导致部分
当此节标题附加到文档时,将递增的流计数器。
函数sectionTitle = getSectionTitle(content) importmlreportgen.dom。*sectionTitle = Heading2();追加(sectionTitle AutoNumber (“章”));追加(sectionTitle文本(“。”));追加(sectionTitle AutoNumber (“节”));追加(sectionTitle文本(“。”));追加(sectionTitle、文本(内容));sectionTitle。风格=...{...CounterInc (“节”),...空白(“保存”),...KeepWithNext(真正的)...};结束
下面的函数为添加到章节或章节中的小节的图形返回一个分层编号的标题。分层编号的标题是使用DOM创建的段
对象,其中标题内容以字符串“Figure N.F.”作为前缀,其中N和F是章
而且数字
流计数器。例如,第二章第三个图的标题包含“图2.3.”作为其前缀。的CounterInc
格式风格
属性导致数字
当此图形标题附加到文档时,将递增的流计数器。
函数figureCaption = getFigureCaption(内容)导入mlreportgen.dom。*figureCaption =段落();追加(figureCaption文本(“图”));追加(figureCaption AutoNumber (“章”));追加(figureCaption文本(“。”));追加(figureCaption AutoNumber (“图”));追加(figureCaption文本(“。”));追加(figureCaption、文本(内容));keepWithPrevious = FOProperty(“keep-with-previous.within-page”,“一直”);figureCaption。风格=...{...CounterInc (“图”),...空白(“保存”),...FOProperties (keepWithPrevious)...};结束
下面的函数为添加到章节或章节中的子节的表返回一个分层编号的标题。使用DOM创建分层编号的标题段
对象,其中标题内容以字符串“Table N.T.”为前缀,其中N
而且T
是章
而且表格
流计数器。例如,第二章第三个表的标题包含“table 2.3.”作为前缀。的CounterInc
格式风格
属性导致表格
当此表标题附加到文档时,将递增的流计数器。
函数tableTitle = getTableTitle(内容)导入mlreportgen.dom。*tableTitle =段落();追加(tableTitle文本(“表”));追加(tableTitle AutoNumber (“章”));追加(tableTitle文本(“。”));追加(tableTitle AutoNumber (“表”));追加(tableTitle文本(“。”));追加(tableTitle、文本(内容));tableTitle。风格=...{...CounterInc (“表”),...空白(“保存”),...KeepWithNext(真正的),...大胆的(真正的),...OuterMargin (“0 pt”,“0 pt”,“10 pt”,“5 pt”)...};结束