IText pdf Corrupted PNG file

392
14 марта 2018, 05:59

Есть сервер на Spring Boot. Он генерит pdf с помощью IText pdf. При запуске из IDE все работает, а при запуске из jar получаю java.io.IOException: Corrupted PNG file.

UPD ошибка из-за того что картинка находится в jar. При сборке war и разворачивании на сервере все норм

ругается на этот файл

package com.tr1nksgroup.model.components;
import com.itextpdf.text.BadElementException;
import com.itextpdf.text.Image;
import com.itextpdf.text.pdf.codec.Base64;
import com.itextpdf.tool.xml.pipeline.html.AbstractImageProvider;
import java.io.IOException;
import java.io.InputStream;
/**
 * поиск или декодирование изображений в html для pdf
 */
public class Base64ImageProviderForPDF extends AbstractImageProvider {
    /**
     * {@inheritDoc}
     * Извлечь изображение
     *
     * @param src строка - путь к изображению или само изображение закодированное в Base64
     * @return изображение
     */
    @Override
    public Image retrieve(String src) {
        int pos = src.indexOf("base64,");
        try {
            if (src.startsWith("data") && pos > 0) {
                byte[] img = Base64.decode(src.substring(pos + 7));
                return Image.getInstance(img);
            } else {
                InputStream is = this.getClass().getResourceAsStream(FileGenerator.PDF_RESOURCE_LOCATION + src);
                if (null != is) {
                    byte[] arr = new byte[is.available()];
                    is.read(arr);
                    return Image.getInstance(arr); // <----java.io.IOException: Corrupted PNG file.
                }
            }
        } catch (BadElementException | IOException e) {
            e.printStackTrace();
        }
        return null;
    }
    @Override
    public String getImageRootPath() {
            return null;
        }
    }
READ ALSO
Intellij idea add maven dependency нет результатов

Intellij idea add maven dependency нет результатов

В Intellij idea, есть функция, если класса нет в проекте, то нажимаешь на нем alt+enter и в меню выбираешь add maven dependencyНо почему-то мавен не находит зависимостей...

215
Механизм взаимодействия со сторонним Activity в siaxis controller

Механизм взаимодействия со сторонним Activity в siaxis controller

Интересует какой механизм взаимодействия со сторонним Activity используется в siaxis controllerИ вообще с Activity ли

166
Как логиниться через cookie/token web automation test

Как логиниться через cookie/token web automation test

Подскажите, как решить проблемуЯ использую selenide/Java/TestNG/maven и иногда в форму логин селенид не до конца вводит текст логина или пароля, где-то...

237
Несколько модальных окон

Несколько модальных окон

Здравствуйте, нужна помощь с модальными окнамиДопустим у меня есть главное окно, в котором имеется ComboBox, при выборе одного из пункта должно...

200