使用itextsharp在PDF GridView中应用样式

时间:2012-08-23 05:37:19

标签: c# asp.net .net pdf-generation itextsharp

我正在尝试在我的网页中使用 itextsharp 将包含标签和GridView等数据的面板打印到PDF。但是,如果我无法将样式应用于GridView。

你能帮帮我吗?

我正在使用css和html样式来设置我的GridView样式。

Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "inline;filename=" + filename + ".pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
pnl_print.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();

sr.Close();
hw.Close();
sw.Close();

如何在Panel中为Gridview添加样式?

面板ID是pnl_print

GridView ID是gv1

你能帮我解决吗?

1 个答案:

答案 0 :(得分:0)

我不确定是否可以使用itextsharp向pdf添加一个外部css,但你总是可以使用类似这样的东西创建一个带有迭代的函数的css,重写itextsharp css类中的样式。

StyleSheet styles = new StyleSheet();
styles.LoadTagStyle("p", "size", "10pt");
styles.LoadTagStyle("p", "color", "#0000ff");