Вопрос по jasper-reports, java – как отображать изображение в отчетах яшмы

1

Я создал отчет о яшме. Но теперь мне нужно разместить логотип в отчетах о яшме, Я поместил отчет и логотип в одну папку, но я не могу запустить отчет

   net.sf.jasperreports.engine.JRException: Byte data not found at : kh_logo.jpg

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

 I am using netbeans and i am placing report and logo in the src folder , but when I 
click on print report it is not able to find that logo
Можете ли вы опубликовать jrxml, включающий (и окружающий) элемент изображения? Jeremy Goodell

Ваш Ответ

2   ответа
1

Solution 1: Using relative paths.

Использование абсолютного пути может не работать в вашей серверной среде. Следовательно, будет лучше использовать относительный путь. Было бы хорошо разместить «kh_logo.png» файл в той же папке, что и файл .jrmxl или .jasper, и укажите на него что-то вроде этого:

<image>
            <reportElement uuid="generated_uuid" x="8" y="9" width="170" height="51"/>
            <imageExpression><![CDATA["kh_logo.png"]]></imageExpression>
</image>

Если это не работает .....

Solution 2: Using file resolver

Это решение предназначено только для использования в коде Java. Здесь вы передаете свой собственный преобразователь файлов в отчет в качестве параметра. Вот так..

 ///Jasper Resolver
       FileResolver fileResolver = new FileResolver() {

        @Override
        public File resolveFile(String fileName) {
           URI uri;
           try {
             uri = new URI(this.getClass().getResource(fileName).getPath());
             return new File(uri.getPath());
           } catch (URISyntaxException e) {
             e.printStackTrace();
             return null;
           }
       }
   };
       parameters.put("REPORT_FILE_RESOLVER", fileResolver);

Затем вы ссылаетесь на это так, как вы делали выше.

Надеюсь, это кому-нибудь поможет.

1

меть относительную ссылку.

Похожие вопросы