使用itextsharp转换为pdf时,Gridview列宽会发生变化

时间:2012-06-04 17:56:00

标签: asp.net gridview itextsharp column-width

大家好日子!

在将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引用。这可能是版本问题吗?

0 个答案:

没有答案