主要内容

许多章节的标题,表标题和图标题以编程方式

这个例子展示了如何以编程方式创建编号标题章节和层次标题部分的章节编号。示例还演示了如何创建层次编号表标题和图标题,驻留在一个或一章的小节章编号。

进口DOM API包所以你不必使用长,完全限定类名。

进口mlreportgen.dom。*

创建和打开一个文档。要创建一个Word文档,改变输出类型pdf多克斯。要创建一个HTML文档,改变pdfhtmlhtml文件多文件或单个文件文档,分别。

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函数用于创建这一章描述了在这个例子。

% 1章。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(“猫眼星云NGC 6543”));

下面的代码创建文档中第二章。这一章的标题都有编号和两个层次编号的部分。在这里,与分级编号标题部分包含多个表,创建使用getTableTitle函数,定义在这个例子。这个函数使用编号流创建层次编号表标题。

% 2章。chapterTitle = getChapterTitle (“与标题编号表”);追加(d, chapterTitle);% 2.1节。sectionTitle = getSectionTitle (“魔法(5)表”);追加(d, sectionTitle);%表2.1。追加(d, getTableTitle (“魔(5)”));表1 =表(魔法(5));表1。风格=表风格; table1.TableEntriesStyle = tableEntriesStyle; append(d,table1);% 2.2节。sectionTitle = getSectionTitle (“表魔术(8)和魔术(10)”);追加(d, sectionTitle);%表2.2。追加(d, getTableTitle (“魔(8)”));表二=表(魔法(8));表二。风格=表风格; table2.TableEntriesStyle = tableEntriesStyle; append(d,table2);%表2.3。追加(d, getTableTitle (“魔(10)”));table3 =表(魔法(10));table3。风格=表风格; table3.TableEntriesStyle = tableEntriesStyle; append(d,table3);

关闭并查看文档。

关闭(d);rptview (d);

下面的函数返回一个章节的标题编号。使用DOM创建编号的标题Heading1对象,标题内容由一个字符串前缀N章一段时间,N流计数器。例如,第一章的标题包含“第1章”。作为前缀。的CounterInc格式风格属性将导致流计数器时要增加这一章的标题是附加到文档。的CounterReset格式风格房地产等其他相关流计数器,部分,,时,重置为初始值这一章的标题是附加到文档。

函数chapterTitle = getChapterTitle(内容)导入mlreportgen.dom。*chapterTitle = Heading1 ();追加(chapterTitle文本(“章”));追加(chapterTitle AutoNumber (“章”));追加(chapterTitle文本(”。”));追加(chapterTitle、文本(内容));chapterTitle。风格={CounterInc (“章”),CounterReset (”部分数字表”),空白(“保存”),PageBreakBefore(真正的),KeepWithNext(真正的)};结束

以下函数返回一个层次标题编号的部分章节。使用DOM创建层次标题编号Heading2对象,标题内容由一个字符串前缀“新墨西哥州”,N和M部分分别流计数器。例如,在第二章第一节标题包含“2.1”作为前缀。的CounterInc格式风格属性将导致部分流计数器时要增加这部分标题是附加到文档。

函数sectionTitle = getSectionTitle(内容)导入mlreportgen.dom。*sectionTitle = Heading2 ();追加(sectionTitle AutoNumber (“章”));追加(sectionTitle文本(“。”));追加(sectionTitle AutoNumber (“节”));追加(sectionTitle文本(”。”));追加(sectionTitle、文本(内容));sectionTitle。风格={CounterInc (“节”),空白(“保存”),KeepWithNext(真正的)};结束

下面的函数返回一个层次标题编号图添加到一章或一章的小节。使用DOM创建层次标题编号对象,标题内容由一个字符串前缀“图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创建层次标题编号对象,标题内容由一个字符串前缀“表。”,在那里NT分别流计数器。例如,标题第二章中的第三个表包含“表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”)};结束