我的首页顶部有一个标题,如下所示:
我使用 iTextSharp 代码生成它的 PDF ...但是生成的 PDF 不包含这个带有黑色的标题:相反,一些 CSS 被写在标题的位置,如下所示:
我怎样才能解决这个问题??
代码:
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();
}
最佳答案
您尝试过使用内联 css 吗?因为 iTextSharp 中的 HTML/CSS 解析器不完整。所以它可能无法如你所愿地工作。
同时检查 iTextSharp 中 StyleSheet 的 LoadTagStyle
属性,看看是否有帮助。
有关它的更多详细信息,请参阅此答案:https://stackoverflow.com/a/9616429/604232
关于c# - 如何使用 iTextSharp 保留 CSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21899853/