将图像添加到单元格 - iTextSharp

时间:2015-08-17 08:21:49

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

我试图将图片添加到pdf单元格,但我收到了错误:

  

参数1:无法转换为System.Drawing.Image'至   ' iTextSharp.text.pdf.PdfPCell'

排队:

content.AddCell(myImage);

这是我的代码:

PdfPTable content = new PdfPTable(new float[] { 500f });
content.AddCell(myImage);
document.Add(content);

myImage变量是Image类型。我做错了什么?

2 个答案:

答案 0 :(得分:3)

您无法添加图片,您需要先创建单元格并将图像添加到单元格中: http://api.itextpdf.com/itext/com/itextpdf/text/pdf/PdfPCell.html#PdfPCell(com.itextpdf.text.Image)

PdfPCell cell = new PdfPCell(myImage);
content.AddCell(cell);

你也不能使用System.Drawing.Image类,iTextSharp拥有它自己的Image类: http://api.itextpdf.com/itext/com/itextpdf/text/Image.html

它需要一个传递给构造函数的URL到图像位置。

所以:

iTextSharp.text.Image myImage = iTextSharp.text.Image.GetInstance("Image location");
PdfPCell cell = new PdfPCell(myImage);
content.AddCell(cell);

答案 1 :(得分:1)

您应首先创建一个单元格,然后将图像添加到该单元格,最后将该单元格添加到该表格中。

var image = iTextSharp.text.Image.GetInstance(imagepath + "/logo.jpg");
var imageCell = new PdfPCell(image);
content.AddCell(imageCell);

请参阅此帖子的回答:How to add an image to a table cell in iTextSharp using webmatrix