2011-11-21 62 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