powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / iText генерация таблицы
18 сообщений из 43, страница 2 из 2
iText генерация таблицы
    #37800323
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
velocity я как то позовалься понравилось.
подом через велосити переделаю пока и так работает.
кстати если вам интересно то flysaucer не слишком хорошо разбирается если для одного и того же блочного элемента делать и padding и margin. Он все смешивать начинает поэтому как решение делать все через div контейнеры и использованием только margin или padding.

у меня счас косяк только то что я ставлю ширину высоту посчитав стандартный формат A4 из wikipedii в дюймах на резоллюшн.
так вот тут несовпадения выходят приходится экспериментальным путем подбирать.
...
Рейтинг: 0 / 0
iText генерация таблицы
    #37800411
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,

Я тоже ширину столбцов в таблицах ставлю фиксированную, размеры подбираю эксперементально, что бы на лист умещалось. Иначе фигня получается. В остальном у меня просто текст - письма, договоры и пр. Без особых наворотов в оформлении - только логотипы и штрих-коды кое где.
...
Рейтинг: 0 / 0
iText генерация таблицы
    #37800441
Core12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Взял код под номером два.
Сделал простой html файл. Но программа вываливается в exception
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Exception in thread "main" com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 2-byte UTF-8 sequence.
	at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:684)
	at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:369)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1742)
	at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.peekChar(XMLEntityScanner.java:487)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2687)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
	at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
	at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
	at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
	at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:235)
	at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
	at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:124)
	at com.test.test.Starter.main(Starter.java:34)



Собсно java code
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
        FontFactory.defaultEmbedding = true;
        ITextRenderer renderer = new ITextRenderer();
        renderer.getFontResolver().addFont("C:\\WINDOWS\\Fonts\\cour.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();
        InputStream is = new FileInputStream("C:\\index.html");
//        Reader reader = new InputStreamReader(is,"UTF-8");
        com.itextpdf.text.Document doc = (Document) db.parse(is);
        PDFCreationListener listener = new XHtmlMetaToPdfInfoAdapter((org.w3c.dom.Document) doc);
        renderer.setListener(listener);
        renderer.setDocument((org.w3c.dom.Document) doc, null);
        renderer.layout();
        OutputStream os = new FileOutputStream("C:\\log.pdf");
        renderer.createPDF(os);
        is.close();



И html страница
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
 <table border="1" name="mainTable">
   <tr>
     <td>Этаж</td>
	 <td>Номер комн.</td>
   </tr>
 </table>
</body>
</html>



Что делаю не так..
...
Рейтинг: 0 / 0
iText генерация таблицы
    #37800473
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HTML точно в UTF8 сохранили?
...
Рейтинг: 0 / 0
iText генерация таблицы
    #37800483
Core12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczHTML точно в UTF8 сохранили?

Не точно. Пересохранил проблема решилась.
...
Рейтинг: 0 / 0
iText генерация таблицы
    #37800484
Core12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.
...
Рейтинг: 0 / 0
iText генерация таблицы
    #37800517
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garricklleming,

Я тоже ширину столбцов в таблицах ставлю фиксированную, размеры подбираю эксперементально, что бы на лист умещалось. Иначе фигня получается. В остальном у меня просто текст - письма, договоры и пр. Без особых наворотов в оформлении - только логотипы и штрих-коды кое где.

кстати вы как решили проблему с печатью.
там косяк нехилый выходит. разрешение монитора 96dpi и XHTMLPanel получается с разрешением в 96DPI
а вот в принтерах 72 причем это прямо в коде зашито в package java.print. Так что при печати содержимое панели не входит
на лист в принтер. печать получается обрезанная.

счас только допер до этого сделал вывод ширины и высоты объекта
Код: java
1.
2.
PrinterJob printerJob = PrinterJob.getPrinterJob();
printerJob.getFormatPage();



вывел размеры для A4 в точках то получитлось значительно меньшео чем если братть размеры XTMLPanel
причет соотношение размеры панели/размеры PageFormat.size удивительным образом совпадают с 96/72
...
Рейтинг: 0 / 0
iText генерация таблицы
    #37800594
Core12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кто нибудь смог победить русские букву, потому что в том коде, который я выкладывал.
Русские буквы в pdf не отображаются.
У меня такое было, когда pdf руками создавался там надо было шрифт явно указывать, а как его тут указывать не понятно.
...
Рейтинг: 0 / 0
iText генерация таблицы
    #37800611
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
renderer.getFontResolver().addFont("C:\\WINDOWS\\Fonts\\cour.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

укажи точно где лежит шрифт
если win7 может не сработать если включено UUC че то такое воообщем доступа нет к папке.
лучше всего шрифты положить рядом с приложение и можно будет указать доступ по относителному пути.

я делаю папку там где исходники
resources/fonts
renderer.getFontResolver().addFont("./resources/fonts/PT55S.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

и все
...
Рейтинг: 0 / 0
iText генерация таблицы
    #37800650
Core12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чарсет у html какой стоит.
Потому что сделал как вы предлагаете и снова русские буквы не отображаются не фига.
...
Рейтинг: 0 / 0
iText генерация таблицы
    #37800768
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: html
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.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Template engine</title>
        <style type="text/css">
            @page {  size: letter; 
                     margin: 0cm;
            }

            @font-face {  
                -fs-pdf-font-embed: embed;  
                -fs-pdf-font-encoding: Identity-H; 
                -fs-pdf-font-encoding: UTF-8;
            }

            html{
                margin: 0px;
                padding: 0px
            }

            body{
                border: 1px solid #DDDDDD;
                margin: 1cm auto;
                padding-top: 1cm;
                width: 774px;
                height: 930px;
                font-family: PT Sans;
                font-size: 14px;
                line-height: 25px;
                color: #222222;
            }

            .space{
                height: 40px;
            }

            table{
                width: 100%;
                border-style: solid;
                text-align: center;
            }

            table td{
                border-style: solid;
            }

            .bld{
                font-weight: bold;
            }

            .flt{
                float: left;
            }

            .clear{
                clear: both;
            }

            .name{
                text-align: right;
                width: 200px;
            }

            .rht{
                float:right;
            }

            .shift{
                padding-right: 15px;
            }
            
            #content{
                margin: 0 0.5cm;
            }
        </style>
    </head>
    <body>
...
Рейтинг: 0 / 0
iText генерация таблицы
    #37800880
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingкстати вы как решили проблему с печатью.

Нет никакой проблемы :-) У нас документы отправляются в электронном виде в PDF или печатаются, если кому надо, через Acrobat Reader.
...
Рейтинг: 0 / 0
iText генерация таблицы
    #37800887
Garrick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Core12А кто нибудь смог победить русские букву, потому что в том коде, который я выкладывал.
Русские буквы в pdf не отображаются.
У меня такое было, когда pdf руками создавался там надо было шрифт явно указывать, а как его тут указывать не понятно.
Я же ссылку давал Flying Saucer PDF Generator and Unicode

В CSS надо добавить
Код: css
1.
2.
3.
4.
5.
@font-face {  
  src: url(file:///Absolute/path/to/font/directory/ARIALUNI.TTF);  
  -fs-pdf-font-embed: embed;  
  -fs-pdf-font-encoding: Identity-H;
}  
...
Рейтинг: 0 / 0
iText генерация таблицы
    #37800894
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GarrickCore12А кто нибудь смог победить русские букву, потому что в том коде, который я выкладывал.
Русские буквы в pdf не отображаются.
У меня такое было, когда pdf руками создавался там надо было шрифт явно указывать, а как его тут указывать не понятно.
Я же ссылку давал Flying Saucer PDF Generator and Unicode

В CSS надо добавить
Код: css
1.
2.
3.
4.
5.
@font-face {  
  src: url(file:///Absolute/path/to/font/directory/ARIALUNI.TTF);  
  -fs-pdf-font-embed: embed;  
  -fs-pdf-font-encoding: Identity-H;
}  



а я вообще прикрутил PT Sans от paratype
...
Рейтинг: 0 / 0
iText генерация таблицы
    #37800902
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Garrickllemingкстати вы как решили проблему с печатью.

Нет никакой проблемы :-) У нас документы отправляются в электронном виде в PDF или печатаются, если кому надо, через Acrobat Reader.


вот здесь у меня и косяк если печатать как в примере из guide to flysaucer
то swing компоненты рисуются на 96 dpi а в java.print защито 72dpi
в результате то что красиво выглядет на XTMLPAnel при печати не влезает на A4
...
Рейтинг: 0 / 0
iText генерация таблицы
    #37801667
Core12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Появилось еще несколько вопросов, сейчас стал подключать в свой проект velocity что бы html было проще заполнять.
Не руками ж его генерировать. Взял пример отсюда http://ru.wikipedia.org/wiki/Apache_Velocity
он не работает говорит что,
org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'template1.wm'

прочитал понял, что должен быть файл настроек velocity.properties в котором должно быть описано хранилище, только пример и как с ним работать и загружать файлы. Я так и не понял.
Подскажите мне плиз.
...
Рейтинг: 0 / 0
iText генерация таблицы
    #37801692
Core12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
C великом вопрос решен.
...
Рейтинг: 0 / 0
iText генерация таблицы
    #37882634
leonid.shabalkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, здесь упоминалась печать через flying saucer, не может привести код или ссылку где написано подробней!?
...
Рейтинг: 0 / 0
18 сообщений из 43, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / iText генерация таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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