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

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

Если кто знает какой нибудь бесплатную библтотечку или как русифицыровать Orinoco - сообъщите плз.
...
Рейтинг: 0 / 0
Проблемма: Нужена библиотека для отчётов в pdf.
    #33561635
Gold Fish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iText
...
Рейтинг: 0 / 0
Проблемма: Нужена библиотека для отчётов в pdf.
    #33561807
Фотография Alex-2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А FOP вам не годится?
Lusy &&
...
Рейтинг: 0 / 0
Проблемма: Нужена библиотека для отчётов в pdf.
    #33566352
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
Проблемма: Нужена библиотека для отчётов в pdf.
    #33615734
yodgik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Проблемма: Нужена библиотека для отчётов в pdf.
    #33616105
bI-Ky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jasper Reports: http://jasperreports.sourceforge.net
Визуальный дизайнер iReport: http://sourceforge.net/projects/ireport
...
Рейтинг: 0 / 0
Проблемма: Нужена библиотека для отчётов в pdf.
    #33618199
sysmanx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yodgikА как дальше его использовать не подскажите ?

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

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


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