如何在ITextSharp导出为PDF后设置图像的宽度和高度

时间:2011-11-08 06:47:06

标签: c# asp.net image gridview itextsharp

目前我使用ITextSharp将gridview导出为pdf。我的gridview有一个Image文件,它的宽度将扩展到125%,高度也将扩展到125%。 我的问题是:

  • 如何将图像设置为widht:80px和height:100px。

  • 设置图像宽度和高度后,如何将其插入gridview?

除此之外,在将gridview导出为pdf文件后,图像将离开单元格。那是什么以及如何解决?

1 个答案:

答案 0 :(得分:0)

this post in MikesDotnetting。关于working with tables in iTextsharp的另一篇文章也在那里

查看使用表格的示例代码

// adding content to iTextSharp Document instance
                PdfPTable table = new PdfPTable(3);
                //actual width of table in points
                table.TotalWidth = 500f;
                //fix the absolute width of the table
                table.LockedWidth = true;
                //relative col widths in proportions 
                float[] widths = new float[] { 1f, 2f, 1f };
                table.SetWidths(widths);
                table.HorizontalAlignment = 0;
                //leave a gap before and after the table
                table.SpacingBefore = 20f;
                table.SpacingAfter = 10f;

  //Start Heading
                table.AddCell(new PdfPCell() { BorderColor = BaseColor.LIGHT_GRAY, Phrase = new Phrase("No.", new Font(Font.FontFamily.HELVETICA, 8f, Font.BOLD)) });
                table.AddCell(new PdfPCell() { BorderColor = BaseColor.LIGHT_GRAY, Phrase = new Phrase("Item Name", new Font(Font.FontFamily.HELVETICA, 8f, Font.BOLD)) });
                table.AddCell(new PdfPCell() { BorderColor = BaseColor.LIGHT_GRAY, Phrase = new Phrase("Description", new Font(Font.FontFamily.HELVETICA, 8f, Font.BOLD)) });

// Table content
//Here we can use a loop to add multiple rows
table.AddCell(new PdfPCell() { BorderColor = BaseColor.LIGHT_GRAY, Phrase = new Phrase("1", new Font(Font.FontFamily.HELVETICA, 8f, Font.NORMAL)) });
                table.AddCell(new PdfPCell() { BorderColor = BaseColor.LIGHT_GRAY, Phrase = new Phrase("Register Book"), new Font(Font.FontFamily.HELVETICA, 8f, Font.NORMAL)) });
                table.AddCell(new PdfPCell() { BorderColor = BaseColor.LIGHT_GRAY, Phrase = new Phrase("Used to manage the details"), new Font(Font.FontFamily.HELVETICA, 8f, Font.NORMAL)) });

在这里你可以看到一个三列表。要添加多行,您可以在代码中循环表内容部分。

传递代码中的值,如图所示。