powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / BIRT скачать отчет в pdf из WEB приложения.
7 сообщений из 7, страница 1 из 1
BIRT скачать отчет в pdf из WEB приложения.
    #38784077
svirfneblyn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Подскажите юному джависту, как правильно интегрировать BIRT в приложение.
JSF, postgresql, glassfish 4.0
отчет создал с помощью эклипс. файл пока что на локальном диске, адрес к нему пересылается из jsf-страницы.
На данном этапе есть :

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
@WebServlet(name = "GenerateTestBirtServlet", urlPatterns = {"/GenerateTestBirtServlet"})
public class GenerateTestBirtServlet extends HttpServlet {
    private IReportEngine birtEngine;
    private TestBirtService report;
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
....

config = new EngineConfig( );
             
                Platform.startup(config);
                String reportName = request.getParameter("path");
                ServletContext sc = request.getSession().getServletContext();
                birtEngine = BirtEngine.getBirtEngine(sc);
                // create new Report Engine
                IReportEngineFactory factory = (IReportEngineFactory) Platform.createFactoryObject(    IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
                engine = factory.createReportEngine( config );
IReportRunnable reportDoc =  engine.openReportDesign(reportName);
IRunAndRenderTask task = engine.createRunAndRenderTask(reportDoc);
IRenderOption options =  new RenderOption();
 task.validateParameters();
 PDFRenderOption pdfOptions  = new PDFRenderOption(options);
pdfOptions.setOutputFormat("pdf");
pdfOptions.setOutputFileName("my.pdf");
pdfOptions.setOption(IPDFRenderOption.PAGE_OVERFLOW, IPDFRenderOption.FIT_TO_PAGE_SIZE);
 pdfOptions.setOutputStream(response.getOutputStream());
 pdfOptions.setOutputStream(response.getOutputStream());
 task.setRenderOption(pdfOptions);
 task.run();
task.close();
engine.destroy();


в логе :
[org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager] Loaded JDBC driver class in class path: org.postgresql.Driver]]
[org.eclipse.birt.report.engine.layout.pdf.font.FontConfigReader] [tid: _ThreadID=21 _ThreadName=http-listener-1(1)] [timeMillis: 1413971842832] [levelValue: 800] [[
load font config in file:

т.е. вроде бы как поднято соединение с бд, подгрузились шрифты, но не вывелось все в пдф..

Нужен результат - скачиваемый pdf.. но на данном этапе у меня только пустая страница

Подскажите , пожалуйста, что не правильно ?
...
Рейтинг: 0 / 0
BIRT скачать отчет в pdf из WEB приложения.
    #38784083
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
BIRT скачать отчет в pdf из WEB приложения.
    #38784124
svirfneblyn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ. Пример с выводом отчета в штмл я успешно выполнил.

Мне нужно что б происходила загрузка файла из файла-дизайна отчета формировался *.pdf и скачивался на клиентскую машину..
...
Рейтинг: 0 / 0
BIRT скачать отчет в pdf из WEB приложения.
    #38784130
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svirfneblyn,

Там вообще-то и про PDF есть.
...
Рейтинг: 0 / 0
BIRT скачать отчет в pdf из WEB приложения.
    #38784261
svirfneblyn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz , вы правы. Не надо мудрствовать и лучше строго придерживаться примеров. Заменил свой
Код: java
1.
PDFRenderOption 

на
Код: java
1.
HTMLRenderOption 

и , наконец-то, скачка пошла. Но данные не подтягивает. Есть дизайн, но сама форма пустая.. :(

исправленный код :

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
config = new EngineConfig( );
                Platform.startup(config);
                String reportName = request.getParameter("path");
                ServletContext sc = request.getSession().getServletContext();
                birtEngine = BirtEngine.getBirtEngine(sc);
                IReportEngineFactory factory = (IReportEngineFactory) Platform.createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
                engine = factory.createReportEngine( config );
                IReportRunnable reportDoc =  engine.openReportDesign(reportName);
                IRunAndRenderTask task = engine.createRunAndRenderTask(reportDoc);
                task.validateParameters();
                HTMLRenderOption option = new HTMLRenderOption();
                option.setOutputFormat(HTMLRenderOption.OUTPUT_FORMAT_PDF);
                response.setHeader(  "Content-Disposition", "attachment; filename="+downloadFileName );
                option.setOutputStream(response.getOutputStream());
                task.setRenderOption(option);
                task.run();
                task.close();
                engine.destroy();
...
Рейтинг: 0 / 0
BIRT скачать отчет в pdf из WEB приложения.
    #38784267
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svirfneblyn,

А с HTML работает нормально? А Ctrl+A, Ctrl+C в PDF и Ctrl+V в текстовы редактор ничего нового не показывает?
...
Рейтинг: 0 / 0
BIRT скачать отчет в pdf из WEB приложения.
    #38784339
svirfneblyn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

сделал вывод в html :



при скачке в pdf пустой лист.
при скачке в html :

авторThe following items have errors:

Chart (id = 32):
- Duplicate aggregation name: COUNT. (Element ID:32)
Duplicate aggregation name: COUNT. ( 1 time(s) )
detail : org.eclipse.birt.report.engine.api.EngineException: Duplicate aggregation name: COUNT. (Element ID:32)
at org.eclipse.birt.report.engine.executor.ExecutionContext.addException(ExecutionContext.java:1237)

хоть какая то информация появилась :) спасибо за совет перекинуть в html! Непонятно, почему оно рендерется , но при скачке ошибка..
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / BIRT скачать отчет в pdf из WEB приложения.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]