Blob imageBlob = rs.getBlob("VECHICLE_IMAGE");
byte[] imgData = imageBlob.getBytes(1,(int)imageBlob.length());
vechileDetailsReportBean.setVechileImageByte(imgData);
PdfPTable nestedTable = new PdfPTable(2);
nestedTable.addCell(new PdfPCell(new Phrase("Image")));
Image image = Image.getInstance(listVechileDetailsReportBean.get(i).getVechileImageByte());
image.scaleAbsolute(300,300);
nestedTable.addCell(new PdfPCell(image));
enter code here
[Vechile detail Table][1]
INS_AGENT varchar(40) YES
VECHICLE_IMAGE mediumblob YES
VECHILE_TYPE varchar(40) YES
VECHILE_TYPEID int(11) YES
RegNo:::S234442::Image::com.mysql.cj.jdbc.Blob@22c4fafe
java.io.IOException: The byte array is not a recognized imageformat.
at com.itextpdf.text.Image.getInstance(Image.java:473)
at com.itextpdf.text.Image.getInstance(Image.java:374)
请建议我如何动态显示db中itext中的图像
答案 0 :(得分:0)
在这种情况下,您应该始终首先尝试(作为测试)手动提取图像,并使用itext从文件系统中读取图像。如果可行,则blob /字节数组无法正确传输图像。如果不起作用,则图像本身很可能有些奇怪。