2014-02-20 20 views
0

我有我的頭版這樣頂部的標題:enter image description here如何使用iTextSharp保存CSS?

我使用iTextSharp的代碼來生成PDF它......但生成的PDF不包含這個頭搭配黑色:代替一些CSS是寫在地方頭部像這樣:

enter image description here

我怎麼可能解決這個問題?

代碼:

protected void BtnPDF_Click(object sender, EventArgs e) 
    { 
     Response.ContentType = "application/pdf"; 
     Response.AddHeader("content-disposition", "attachment;filename=TestPage.pdf"); 
     Response.Cache.SetCacheability(HttpCacheability.NoCache); 
     StringWriter sw = new StringWriter(); 
     HtmlTextWriter hw = new HtmlTextWriter(sw); 
     this.Page.RenderControl(hw); 
     StringReader sr = new StringReader(sw.ToString()); 
     Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f); 
     HTMLWorker htmlparser = new HTMLWorker(pdfDoc); 
     PdfWriter.GetInstance(pdfDoc, Response.OutputStream); 
     pdfDoc.Open(); 
     htmlparser.Parse(sr); 
     pdfDoc.Close(); 
     Response.Write(pdfDoc); 
     Response.End(); 
    } 
+1

CSS不'HTMLWorker'支​​持。您需要XML Worker:http://itextpdf.com/sandbox/xmlworker –

回答

1

您是否嘗試過使用內聯CSS?因爲iTextSharp中的HTML/CSS解析器不完整。所以它可能無法正常工作。

還檢查了iTextSharp中StyleSheet的LoadTagStyle屬性,看看它是否有幫助。

有關它的詳細信息,請參閱本答案:https://stackoverflow.com/a/9616429/604232