Free Support Forum - aspose.com

Inserting pictures into table programmatically

Does anyone know how to insert an image into a table programmatically with C#? I was trying to do it with the following:

Aspose.Pdf.Image sig = new Aspose.Pdf.Image();
MemoryStream ms = new MemoryStream();
string tempString = r[“value”].ToString();
int tempInt = Int32.Parse(r[“value”].ToString());
System.Drawing.Image temp = getSignature(tempInt);
temp.Save(ms, ImageFormat.Gif);
sig.ImageInfo.ImageStream = ms;

Cell c = new Cell(row1DetailTable);
c.Paragraphs.Add(sig);
row1DetailTable.Cells.Add©;

Where getSignature(tempInt) returns a System.Drawing.Image. When the code executes, it gets stuck at the line where I save it ( pdf.Save(“mypdf.pdf”, SaveType.OpenInBrowser, Response); ).

I am using Visual Studio .NET 2005.

Thanks,
Caleb

Hi,

I have tested your code and was not able to reproduce the error. Can you please save your image to a file and send it to us so that we can more accurately determine the cause of the problem.

Thanks.

Here is a screenshot of the problem that I am having. To try and elliminate the getSignature method as the problem I hard coded it to return a picture from a file. Even after this change, the problem still occurs. My getSignature method now looks like this:

private System.Drawing.Image getSignature(int pictureID)
{
System.Drawing.Image sig;

sig = System.Drawing.Image.FromFile(Server.MapPath(“blue.gif”));
return sig;

}

The file blue.gif exists and is a valid gif file.

Thanks,
Caleb

Hi,

I have not been able to reproduce the error. Please send us the image file so that we can test it.

Thanks.

Attached is the image file that I am trying to load.

Hi,

I have tested it with the image that you provided and still didn't get any problem. I am testing with Aspose.Pdf v 3.6.0.0, which version are you using.

Thanks.

Hi Adeel,

I am using Aspose.Pdf v3.5.5.0. If you want, I can send you the code that generates my PDF for you to test. Just let me know how I can send it to you privately.

Thanks,
Caleb

Hi,

You can email me at adeel.ahmad@aspose.com

Thanks.

Ok, I sent you the code. The subject line of the e-mail I sent is: "My Sample Code for adding pictures to PDF"

Thanks,
Caleb

Hi,

You code is missing one statement. Please add the statement

sig.ImageInfo.ImageFileType = ImageFileType.Gif;

to the addRom function as follows

private void addRow(Pdf pdf, Aspose.Pdf.Table table)

{

Section section = pdf.Sections[0];

Aspose.Pdf.TextInfo tf1 = new Aspose.Pdf.TextInfo();

tf1.FontSize = 10;

tf1.Alignment = AlignmentType.Center;

Row row1DetailTable = table.Rows.Add();

row1DetailTable.Cells.Add("test");

tf1.Alignment = AlignmentType.Left;

row1DetailTable.Cells.Add("test");

tf1.Alignment = AlignmentType.Center;

row1DetailTable.Cells.Add("picture");

if (true)

{

Aspose.Pdf.Image sig = new Aspose.Pdf.Image();

MemoryStream ms = new MemoryStream();

int tempInt = 1;

System.Drawing.Image temp = getSignature(tempInt);

temp.Save(ms, ImageFormat.Gif);

sig.ImageInfo.ImageStream = ms;

sig.ImageInfo.ImageFileType = ImageFileType.Gif;

Cell c = new Cell(row1DetailTable);

c.Paragraphs.Add(sig);

row1DetailTable.Cells.Add(c);

}

else

{

row1DetailTable.Cells.Add("not used");

}

row1DetailTable.Cells.Add("date");

}

Thanks.

Thanks, that fixed it.