Невозможно добавить изображение в PDF-файл из базы данных MySQL

0
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. Я пробовал все и проверял различные коды в stackoverflow, но не для обработки ошибки. Каждый раз, когда он показывает, что метод getInstance() не найден.

  • 1
    Вы уверены, что импортировали класс iText Image а не, например, класс awt?
  • 0
    Я обычно игнорирую вопросы, в которых ФП заявляет: «Я перепробовал все». Если все уже опробовано, зачем мне это беспокоить? Особенно, когда ОП называет себя «Мастером». Более того: вы используете iText 5 или более раннюю версию. Почему бы вам не попробовать iText 7? Вы уверены, что посетили официальный веб-сайт iText (потому что я не думаю, что вы это сделали).
Показать ещё 3 комментария
Теги:
itext

2 ответа

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);

Вышеприведенный код работал для меня..

0

За

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

вы получаете ошибку "getInstance() not found".

Поскольку класс iText Image явно имеет статический метод getInstance с byte[] аргументом byte[], это означает, что класс Image здесь не относится к классу iText Image а вместо него к другому, возможно, к классу awt Image.

Таким образом, посмотрите на свой импорт, возможно, вы импортируете целые пакеты, которые могут содержать свой собственный класс Image и, таким образом, маскировать класс iText Image.

  • 0
    Точно @mkl .. Можете ли вы помочь мне создать обязательное поле проверки в форме качели ..
  • 0
    Что это обозначает?
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню