2011-03-29 38 views
1

我已经使用Abc PDF从HTML页面创建PDF现在我的问题是我想要在下一页上打印表格标题,但只有当表格数据显示在另一个页面中时if不在不同的页面上显示标题,任何人都知道我们如何使用Abc pdf来做到这一点。使用Abc PDF在设置页面上打印标题

回答

2

你需要做的是创建页面顶部有一些空格,然后一旦你的文档建立在abc PDF循环中,通过页面添加一个页眉。

下面的代码是什么,我用它来添加页眉,在这种情况下,头的顶部有三个位的图像和两个箱与文本。

记得在ABC PDF的线是从底部右边不是左上角。

private static Doc AddHeader(Doc theDoc, Core.Property propertyDetails) 
{ 
    int theCount = theDoc.PageCount; 
    int i = 0; 

    //Image header 
    for (i = 1; i <= theCount; i++) 
    { 
     theDoc.Rect.Width = 590; 
     theDoc.Rect.Height = 140; 

     theDoc.Rect.Position(0, 712); 

     theDoc.PageNumber = i; 

     //Check Which office to use. 
     string imagefilePath = HttpContext.Current.Server.MapPath("/images/pdf/pdf-header.png"); 


     Bitmap myBmp = (Bitmap)Bitmap.FromFile(imagefilePath); 

     theDoc.AddImage(myBmp); 
    } 

    //page header boxes. 
    //Grey header box 
    theDoc.Rect.String = "20 15 590 50"; 
    theDoc.Rect.Position(13, 672); 
    System.Drawing.Color colour = System.Drawing.ColorTranslator.FromHtml("#CCCCCC"); 
    theDoc.Color.Color = colour; 
    theDoc.PageNumber = 1; 
    theDoc.FillRect(); 

    theDoc.Rect.String = "20 15 586 50"; 
    theDoc.Rect.Position(30, 660); 
    System.Drawing.Color pageoneText = System.Drawing.ColorTranslator.FromHtml("#50474A"); 
    theDoc.Color.Color = pageoneText; 
    string thePageFont = "Century Gothic"; 
    theDoc.Font = theDoc.AddFont(thePageFont); 
    theDoc.FontSize = 16; 
    theDoc.PageNumber = 1; 
    theDoc.AddText("My Text!!!!!"); 


    theDoc.Rect.String = "20 15 590 50"; 
    theDoc.Rect.Position(13, 630); 
    System.Drawing.Color greyBox = System.Drawing.ColorTranslator.FromHtml("#468DCB"); 
    theDoc.Color.Color = greyBox; 
    theDoc.PageNumber = 1; 
    theDoc.FillRect(); 

    theDoc.Rect.String = "20 15 586 50"; 
    theDoc.Rect.Position(30, 620); 
    System.Drawing.Color greyText = System.Drawing.ColorTranslator.FromHtml("#ffffff"); 
    theDoc.Color.Color = greyText; 
    string thePageFontTwo = "Century Gothic"; 
    theDoc.Font = theDoc.AddFont(thePageFontTwo); 
    theDoc.FontSize = 14; 
    theDoc.PageNumber = 1; 
    theDoc.AddText("This is more text"); 

    return theDoc; 
} 

然后一旦创建PDF文件只需要调用

var theDoc = new Doc(); 

/// Your document creation stuff!!! 
theDoc = AddHeader(theDoc, propertyDetails);