iTextSharp - Add image to PDF from Datatable

前端 未结 2 1447
说谎
说谎 2021-01-03 01:52

I try to create a PDF report from a datatable. One of the columns contents image. How can I extract the image from datatable and insert into PDF table? I\'m using iTextShap

2条回答
  •  执念已碎
    2021-01-03 02:35

    What exactly is the problem? What happens when you use your problem code?

    Try one of the other Image.GetInstance() overloads:

    You can pass the byte array directly:

    byte[] byt = (byte[])r[6];
    Image img = Image.GetInstance(byt);
    

    Or you can pass the Stream:

    byte[] byt = (byte[])r[6];
    MemoryStream ms = new MemoryStream(byt);
    Image img = Image.GetInstance(ms);
    

    Or you can give iTextSharp more info about the image format:

    byte[] byt = (byte[])r[6];
    MemoryStream ms = new MemoryStream(byt);
    System.Drawing.Image sdi = System.Drawing.Image.FromStream(ms);
    Image img = Image.GetInstance(sdi, ImageFormat.Png);
    

    If your column can be cast to a System.Drawing.Image, then you can use it directly:

    Image img = Image.GetInstance((System.Drawing.Image)r[6], System.Drawing.Imaging.ImageFormat.Png);
    

提交回复
热议问题