1、自定义C1PrintDocument的PageFooterC1PrintDocument提供显示内容在每页页脚的能力,这些可以通过PageLayouts.PageFooter属性自定义。假设我们要在非最后一页显示“Continued”文字,这里需要两步;
2、1.定义PageLayout对象第一个首先要定义PageLayout,设置一个PageFooter,并且添加到C1PrintDocument的页面,代码如下:Dim pagelayout As New PageLayout()Dim pagefooter As New RenderText()pagefooter.Text = " Continued to Next Page..."pagefooter.Style.Borders.All = LineDef.Defaultpagefooter.Style.FontBold = Truepagefooter.Style.TextColor = Color.Maroonpagelayout.PageFooter = pagefooterC1PrintDocument1.PageLayouts.PrintFooterOnLastPage = FalseC1PrintDocument1.PageLayout.PageFooter = pagelayout.PageFooterC1PrintDocument1.Generate()注意:PrintFooterOnLastPage属性要设置为False,这样子PageFooter才能不打印到document的最后一页。
3、2.设置PageFooter属性的条件在定义PageFooter之后,下一步就是设置PageFooter属性为“Continued..”。而且我们需要确保如果只有一页,这个文字不会出现在页面。这样,就需要计算页数,如果仅有一页的时候,使用PrintFooterOnFirstPage属性隐藏在第一页的页脚。代码片段如下:If C1PrintDocument1.Pages.Count = 1 Then C1PrintDocument1.PageLayouts.PrintFooterOnFirstPage = FalseEnd If
4、在C1PrintDocument里显示边框为了实现这个效果,我们需要添加一个空的RenderArea到doment的size中,然后设置Style.Borders.All属性LineDef.Default。Dim overlay As New RenderArea()overlay.Width = "100%"overlay.Height = "100%"overlay.Style.Borders.All = LineDef.DefaultC1PrintDocument1.PageLayout.Overlay = overlay这样,边框就可以显示在RenderTable的单元格里的text rendered的周围。代码如下:Dim rtxt As New RenderText("center me!")rtxt.Style.Borders.All = New LineDef(Color.Red)rtxt.Width = "50px"Dim ra As New RenderArea()ra.Stacking = StackingRulesEnum.BlockLeftToRightra.Style.FlowAlignChildren = FlowAlignEnum.Centerra.Children.Add(rtxt)rtTbl.Cells(1, 1).RenderObject = raC1PrintDocument1.Body.Children.Add(rtTbl)如上所述的两种效果,可以通过下面的图片展示出来:
