2011-11-21 61 views
1

您好我正在通过使用itextsharp解析HTML到它的writng一些PDF,它工作正常,但我想在PDF的每个页面上添加页码。为此我加入了头,在它的虚拟文本(以后我会用页数替换)和写作穹顶内容,但不显示内容..PDF头没有得到显示Itextsharp

try 
{ 
    Document oNewDocument = new Document(PageSize.A4, 20f, 20f, 30f, 10f); 
    PdfWriter.GetInstance(oNewDocument, new FileStream(pdfpath + "/" + sSaleInvoicePdf, FileMode.Create)); 
    string content = "Some HTML Content"; 
    List<IElement> parsedHtmlElements = HTMLWorker.ParseToList(new StringReader(contents), styles); 
    oNewDocument.AddHeader("text","text"); 

    foreach (var htmlElement in parsedHtmlElements) 
    { 
      oNewDocument.Add(htmlElement as IElement); 
    } 
} 
catch (Exception ex) 
{ 
    Response.Write(ex.Message); 
} 
finally 
{ 
    oNewDocument.Close(); 
} 

在那里我拨错。此代码生成所有的html内容,但不包含标题文本。

回答

1

版本5+你有一个页面事件要做到这一点:

Handling header footer page event, itextsharp 5+

版本之前5它的工作原理是:

Document oNewDocument = new Document(PageSize.A4, 20f, 20f, 30f, 10f); 
PdfWriter.GetInstance(oNewDocument, new FileStream(pdfpath + "/" + sSaleInvoicePdf, FileMode.Create)); 

//Create some text to add to the header 
Chunk text= new Chunk("my text"); 
Phrase phHeader = new Phrase(); 
phHeader.Add(text); 

//Assign the Phrase to PDF Header 
HeaderFooter header = new HeaderFooter(phHeader, false); 

//Add the header to the document 
oNewDocument.Header = header; 
+0

HeaderFooter不工作在itextsharp版本5.1.2.0 – SST

+0

我认为这将帮助你:http://stackoverflow.com/questions/2598917/itextsharp-is-missing-headerfooter-class – Peter

0
HeaderFooter hdr = new HeaderFooter(stringvalue, false); 
    hdr.Border = Rectangle.NO_BORDER; 
    hdr.Alignment = Element.ALIGN_LEFT; 
    doc.Header = hdr; 

试试这个不知道您的版本是否支持this..give试试看

+0

HeaderFooter在itextsharp版本5.1.2.0中不起作用 – SST