Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / BIRT скачать отчет в pdf из WEB приложения. / 7 сообщений из 7, страница 1 из 1
22.10.2014, 14:00
    #38784077
svirfneblyn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BIRT скачать отчет в pdf из WEB приложения.
Добрый день. Подскажите юному джависту, как правильно интегрировать 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
22.10.2014, 14:03
    #38784083
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BIRT скачать отчет в pdf из WEB приложения.
...
Рейтинг: 0 / 0
22.10.2014, 14:32
    #38784124
svirfneblyn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BIRT скачать отчет в pdf из WEB приложения.
Спасибо за ответ. Пример с выводом отчета в штмл я успешно выполнил.

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

Там вообще-то и про PDF есть.
...
Рейтинг: 0 / 0
22.10.2014, 15:50
    #38784261
svirfneblyn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BIRT скачать отчет в pdf из WEB приложения.
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
22.10.2014, 15:52
    #38784267
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BIRT скачать отчет в pdf из WEB приложения.
svirfneblyn,

А с HTML работает нормально? А Ctrl+A, Ctrl+C в PDF и Ctrl+V в текстовы редактор ничего нового не показывает?
...
Рейтинг: 0 / 0
22.10.2014, 16:31
    #38784339
svirfneblyn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BIRT скачать отчет в pdf из WEB приложения.
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
Форумы / Java [игнор отключен] [закрыт для гостей] / BIRT скачать отчет в pdf из WEB приложения. / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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