Apache poi java: изображение не отображается в документе при запуске файла JAR на другом компьютере - PullRequest
1 голос
/ 22 апреля 2020

Я создал приложение, которое работает с файлами и прекрасно работает на компьютере, на котором я написал код, однако на других компьютерах оно работает некорректно. После просмотра всего кода я смог найти проблему. Я удалил следующий метод, который добавляет изображение, и файл JAR отлично работает на нескольких компьютерах, однако мне нужно добавить изображение. Метод следующий: (do c - переменная stati c, объявленная в другом классе, на случай, если вам интересно)

            public void AddImage() throws IOException, InvalidFormatException {

        XWPFParagraph parag = document.createParagraph();
        XWPFRun r = parag.createRun();

        URL imageURL = ClassLoader.getSystemResource("TheImage.png");
        String imageName = imageURL.getPath();
        File image = new File(imageName);
        FileInputStream fis = new FileInputStream(image);

        BufferedImage bimg1 = ImageIO.read(image);
        int width = 160;//bimg1.getWidth();
        int height = 26;//bimg1.getHeight();  

        String imgFile = image.getName(); 

        r.addPicture(fis, document.PICTURE_TYPE_PNG, imgFile, Units.toEMU(width), Units.toEMU(height));
    }

Чтобы получить более подробную информацию, я создал исходный файл в проект в затмении, где я добавил изображение, кто-нибудь знает, как решить эту проблему?

1 Ответ

3 голосов
/ 22 апреля 2020

Возможно, на вашем компьютере изображение взято из файловой системы, а не из банки. Изображение упаковано в файл jar? Затем попробуйте

Inputstream logo = getClass().getResourceAsStream("/path/in/jar/img.png");

, чтобы загрузить его.

Как прочитать файл из jar в Java?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...