无法将图像从mysql数据库添加到pdf文件

时间:2018-04-15 20:35:36

标签: java mysql itext

Document myDocument = new Document();
                    PdfWriter myWriter = PdfWriter.getInstance(myDocument, 
new FileOutputStream(filePath));
                    myDocument.open();
                    Blob imageBlob = rs.getBlob("Signature");
                    byte[] imageBytes = imageBlob.getBytes(1, (int) 
imageBlob.length());
                    Image image = Image.getInstance(imageBytes);
                    image.scaleAbsolute(300,300);
                    myDocument.add(image);

我试图从存储在中等blob的数据类型中的数据库中获取Image。我已经尝试了所有的东西并检查了stackoverflow上的各种代码,但没有打包来解决错误。每次显示找不到getInstance()方法。

2 个答案:

答案 0 :(得分:0)

有关

byte[] imageBytes = imageBlob.getBytes(1, (int) imageBlob.length());
Image image = Image.getInstance(imageBytes);

你得到“找不到getInstance()方法”错误。

由于iText Image类显然有一个带有getInstance个参数的静态byte[]方法,这表明这里的Image类没有引用iText Image类,而不是另一个,可能是awt Image类。

因此,查看您的导入,可能导入一些可能包含自己的Image类的整个包,因此屏蔽了iText Image类。

答案 1 :(得分:0)

Blob imageBlob1 = rs.getBlob("Image");
                      byte[] imageBytes1 = imageBlob1.getBytes(1, (int) imageBlob1.length());
                     com.itextpdf.text.Image image1 = com.itextpdf.text.Image.getInstance(imageBytes1);
                     image1.scaleToFit(80f, 350f);
                     image1.setAbsolutePosition(430,680);
                      image1.scaleAbsoluteWidth(70);
                     image1.scaleAbsoluteHeight(80);
                     myDocument.add(image1);

以上代码对我有用..