大家好日子!
在将gridview转换为PDF之前,我可以使用以下方法修改字体大小和颜色:
gridview.HeaderRow.Style.Add("font-family", "Arial, Helvetica, sans-serif;");
gridview.HeaderRow.Style.Add("font-size", "7.20px");
gridview.HeaderRow.Style.Add("color", "#284775");
gridview.Style.Add("font-family", "Arial, Helvetica, sans-serif;");
gridview.Style.Add("font-size", "6px");
gridview具有不同的列宽,因为显示的信息,这些大小设置为.aspx文件。但是,生成的pdf文件会自动将每列的宽度调整为相同的大小,因此信息会缩小并且看起来不太好。
我尝试了以下内容:
gridview.Width =100;
gridview.Style.Add("width","100");
还有更多但未能将gridview调整为原始列宽。
我该怎么做?
提前致谢。
编辑:我也尝试过:
gridview.Columns[3].ItemStyle.Width =Unit.Pixel(10);
这是我用来生成PDF文件的代码:
StringWriter stw = new StringWriter();
HtmlTextWriter htextw = new HtmlTextWriter(stw);
gridview.HeaderRow.Style.Add("font-family", "Arial, Helvetica, sans-serif;");
gridview.HeaderRow.Style.Add("font-size", "8.20px");
gridview.HeaderRow.Style.Add("color", "#284775");
gridview.Style.Add("font-family", "Arial, Helvetica, sans-serif;");
gridview.Style.Add("font-size", "8px");
gridview.Columns[3].ItemStyle.Width =Unit.Pixel(10);
gridview.RenderControl(htextw);
Document document = new Document(iTextSharp.text.PageSize.LETTER.Rotate(), 10, 10, 42, 35);
string path = "path where im saving file".pdf";
PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(path, FileMode.Create));
StringReader str = new StringReader(stw.ToString());
iTextSharp.text.html.simpleparser.HTMLWorker htmlworker = new HTMLWorker(document);
htmlworker.Parse(str);
Response.Write(document);
document.Close();
编辑:在搜索时发现this link,这可能正是我需要的,但在创建表格时出现以下错误:
the type or namespace name 'table' does not exist in the namespace 'itextsharp.text'
我添加了所有的itextsharp引用。这可能是版本问题吗?