Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблемма: Нужена библиотека для отчётов в pdf. / 7 сообщений из 7, страница 1 из 1
22.02.2006, 17:48
    #33561556
sysmanx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма: Нужена библиотека для отчётов в pdf.
Необходимо на основе данных в java создать файл pdf.
Причём в файле может быть несколько таблиц.
Библиотека нуджна бесплатная.

Пробовыл JFreeReport - мощьно , но больше одной таблицы неудалось вывести.
Пробовал Orinoco (http://www.andykhan.com/) - просто и множество таблиц позволяет делать, но вот с руским проблемма.

Если кто знает какой нибудь бесплатную библтотечку или как русифицыровать Orinoco - сообъщите плз.
...
Рейтинг: 0 / 0
22.02.2006, 18:25
    #33561635
Gold Fish
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма: Нужена библиотека для отчётов в pdf.
iText
...
Рейтинг: 0 / 0
22.02.2006, 20:08
    #33561807
Alex-2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма: Нужена библиотека для отчётов в pdf.
А FOP вам не годится?
Lusy &&
...
Рейтинг: 0 / 0
26.02.2006, 19:36
    #33566352
sysmanx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма: Нужена библиотека для отчётов в pdf.
Спасибо, посмотрел iText, да дейстыительно прост и умеет то что надо (таблицы правельно резать с заголовком на каждой страницы и множество таблиц поддерживает). На нём и остановился.

Странно что JFreeReport использует iText и просто не может вывести несколько таблиц (я не докапался). Ну наверное ето везде так, при создании мощьных средств: либо они слижком сложно настраиваются и всё умеют, либо легко настраиваются но мало чего умеют.:)

Да кстати меня порадовало что можно создать отчёт в pdf, и тут же без усилий в html,rtf. Тока вот xls нехватает :(.

Ещё бы можно былобы любой html перевести в pdf, а то input у меня чёто не хочет показыватся (наверно в DTD парсера непрописан).

Для тех кто ищет простенький пример на java по генерации pdf с помощью iText:
Код: plaintext
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.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
import java.io.ByteArrayOutputStream;
import com.lowagie.text.*; // import do iText
import com.lowagie.text.pdf.*; // import do iText
import java.awt.Color; // import para poder definir cores no iText
import com.lowagie.text.html.*;
import java.io.*;
import com.lowagie.text.HeaderFooter;
import com.lowagie.text.rtf.*;
class X1{

	public static void main(String argv[]) {
		Document document = new Document(PageSize.A4, 50, 50, 50, 50);
		try { 

		 Table table = new Table(3);
		 table.setBorderWidth(1);
		 table.setBorderColor(new Color(0, 0, 255));
		 table.setPadding(5);
		 table.setSpacing(5);
		 Cell cell = new Cell("header");
		 cell.setHeader(true);
		 cell.setColspan(1);
		 Cell cell2 = new Cell("header2");
		 cell2.setHeader(true);
		 cell2.setColspan(2);

		 Cell cell3 = new Cell("header3");
		 cell3.setHeader(true);
		 cell3.setColspan(3);

		 table.addCell(cell);
		 table.addCell(cell2);
		 table.addCell(cell3);
		 table.endHeaders();
		 for(int i=0;i<100;++i){
			 table.addCell("a"+i);
			 table.addCell("b"+i);
			 table.addCell("c"+i);
		 }



			HtmlWriter.getInstance( document ,new FileOutputStream("text.htm")); 
			PdfWriter.getInstance(document , new FileOutputStream("text.pdf"));
			RtfWriter.getInstance(document, new FileOutputStream("text.rtf"));

			HeaderFooter header = new HeaderFooter(new Phrase("This is a header."), false); 
			HeaderFooter footer = new HeaderFooter(new Phrase("This is page "), new Phrase("."));
			footer.setAlignment(Element.ALIGN_CENTER);
			document.setHeader(header); 
			document.setFooter(footer); 
			document.open(); 
			document.add(new Paragraph("Hello world")); 
			document.add(table); 


		} catch(Exception de) {
			 System.err.println(de); 
		} document.close(); 
	}
};
...
Рейтинг: 0 / 0
21.03.2006, 23:08
    #33615734
yodgik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма: Нужена библиотека для отчётов в pdf.
sysmanxСпасибо, посмотрел iText, да дейстыительно прост и умеет то что надо (таблицы правельно резать с заголовком на каждой страницы и множество таблиц поддерживает). На нём и остановился.

Странно что JFreeReport использует iText и просто не может вывести несколько таблиц (я не докапался). Ну наверное ето везде так, при создании мощьных средств: либо они слижком сложно настраиваются и всё умеют, либо легко настраиваются но мало чего умеют.:)

Да кстати меня порадовало что можно создать отчёт в pdf, и тут же без усилий в html,rtf. Тока вот xls нехватает :(.

Ещё бы можно былобы любой html перевести в pdf, а то input у меня чёто не хочет показыватся (наверно в DTD парсера непрописан).

Для тех кто ищет простенький пример на java по генерации pdf с помощью iText:
Код: plaintext
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.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
import java.io.ByteArrayOutputStream;
import com.lowagie.text.*; // import do iText
import com.lowagie.text.pdf.*; // import do iText
import java.awt.Color; // import para poder definir cores no iText
import com.lowagie.text.html.*;
import java.io.*;
import com.lowagie.text.HeaderFooter;
import com.lowagie.text.rtf.*;
class X1{

	public static void main(String argv[]) {
		Document document = new Document(PageSize.A4, 50, 50, 50, 50);
		try { 

		 Table table = new Table(3);
		 table.setBorderWidth(1);
		 table.setBorderColor(new Color(0, 0, 255));
		 table.setPadding(5);
		 table.setSpacing(5);
		 Cell cell = new Cell("header");
		 cell.setHeader(true);
		 cell.setColspan(1);
		 Cell cell2 = new Cell("header2");
		 cell2.setHeader(true);
		 cell2.setColspan(2);

		 Cell cell3 = new Cell("header3");
		 cell3.setHeader(true);
		 cell3.setColspan(3);

		 table.addCell(cell);
		 table.addCell(cell2);
		 table.addCell(cell3);
		 table.endHeaders();
		 for(int i=0;i<100;++i){
			 table.addCell("a"+i);
			 table.addCell("b"+i);
			 table.addCell("c"+i);
		 }



			HtmlWriter.getInstance( document ,new FileOutputStream("text.htm")); 
			PdfWriter.getInstance(document , new FileOutputStream("text.pdf"));
			RtfWriter.getInstance(document, new FileOutputStream("text.rtf"));

			HeaderFooter header = new HeaderFooter(new Phrase("This is a header."), false); 
			HeaderFooter footer = new HeaderFooter(new Phrase("This is page "), new Phrase("."));
			footer.setAlignment(Element.ALIGN_CENTER);
			document.setHeader(header); 
			document.setFooter(footer); 
			document.open(); 
			document.add(new Paragraph("Hello world")); 
			document.add(table); 


		} catch(Exception de) {
			 System.err.println(de); 
		} document.close(); 
	}
};

А как дальше его использовать не подскажите ?
...
Рейтинг: 0 / 0
22.03.2006, 09:39
    #33616105
bI-Ky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма: Нужена библиотека для отчётов в pdf.
Jasper Reports: http://jasperreports.sourceforge.net
Визуальный дизайнер iReport: http://sourceforge.net/projects/ireport
...
Рейтинг: 0 / 0
22.03.2006, 18:06
    #33618199
sysmanx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемма: Нужена библиотека для отчётов в pdf.
yodgikА как дальше его использовать не подскажите ?

static HtmlWriter HtmlWriter.getInstance(Document document, OutputStream os)

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


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