Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> iText html внутри cdata tag, преобразование xml - pdf 
V
    Опции темы
DashkaTk
Дата 15.9.2009, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 3.12.2007
Где: Запорожье

Репутация: нет
Всего: нет



Здравствуйте, господа разработчики Очень нуждаюсь в помощи.
Суть проблемы
предисловие

надо получить pdf из xml с четко установленными стилями в конечном файле
(например, текс из  тега в xml <agenda>, в pdf должен быть смещен на 250 пикселей + быть подчеркнутым и еще целая корзинка настроек)

общее описание реализации
на входе у меня xml
из этого xml генерирую нужный мне промежуточный xml с помощью xslt
далее описываю тагмап на этот xml (xml содержит теги по типу text_bold_10 и так далее)
с помощью iText получаю pdf на выходе

Все зашибись, все хорошо работает
Но! тут оказывается, что тег <agenda> может содержать тег <!CDATA[[]]>, который в свою очередь, содержит html код, и который, в конце концов, должен быть в pdf. Тобишь, 
<!CDATA[[<table border='1'><tr><td>text</td></tr></table>]]> должно быть табличкой...

текущая реализация 
в xslt запрещаю ескейпить символы < >  и в тагмап я описываю основные теги (b, u, i), но описывать весь список тегов — это, простите, извращение

Натолкните на правильное решение, даже если оно подразумевает все переписать(не хотелось, правда)
есть мысль — заменить схему xml — xml — pdf на xml — html — pdf и в качестве хэндлера в iText использовать его SAXmyHtmlHandler

в общем, буду премного благодарна и должна по гроб жизни
PM MAIL   Вверх
bvfalcon
Дата 20.9.2009, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 4.8.2008

Репутация: -1
Всего: 0



Расскажите чуть подробнее о предыстории этого XML.
XML, как известно, формат для описания чего угодно и можно придумать сотню способов преобразования XML2PDF.
Интересно именно вот что: закреплена ли структура xml в DTD (XSD), описывается еще как-то или вообще произвольная.
PM   Вверх
DashkaTk
Дата 21.9.2009, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 3.12.2007
Где: Запорожье

Репутация: нет
Всего: нет



Цитата

Расскажите чуть подробнее о предыстории этого XML.

генерится сторонним сервисом, к нему доступа не имею, да и незачем
Цитата

XML, как известно, формат для описания чего угодно и можно придумать сотню способов преобразования XML2PDF.

нужно именно iText, уже много на этом решении повязано, в том числе и не моей работы
Цитата

Интересно именно вот что: закреплена ли структура xml в DTD (XSD), описывается еще как-то или вообще произвольная. 

не произвольная, есть xsd
PM MAIL   Вверх
bvfalcon
Дата 21.9.2009, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 4.8.2008

Репутация: -1
Всего: 0



Хоть я и не услышал, чего хотел, но все же попробую помочь.
То, что на iText много повязано, не значит ровным счетом ничего. В том плане что никак не помешает использовать библиотеку, отличную от iText. Хотя что там, iText - одна из самых центровых библиотек для работы с PDF в Java.
Попробуйте использовать JasperReports для преобразования XML в PDF. Кстати тоже использует iText.
Создаете нужную форму-отчет в iReport, из своей программы берете скомпилированный файл отчета, передаете ему JRXMLDataSource (которому скормите ваш XML) и генерите PDF.
А то, чем вы сейчас занимаетесь - это прошлый век велосипедостроения.
PM   Вверх
DashkaTk
Дата 21.9.2009, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 3.12.2007
Где: Запорожье

Репутация: нет
Всего: нет



Цитата

А то, чем вы сейчас занимаетесь - это прошлый век велосипедостроения. 

учту, точнее оценю время на рефакторинг и решу, что мне дороже обойдется )
по поводу JasperReports:
сейчас основная проблема в том, что приезжает xml, содержащий html в полях с текстом
то есть есть какие то незыблемые настройки к основным тегам и произвольный html в текстах
(я понимаю, вы сейчас скажете, ничего не мешает это переделать, но важно какой именно подход меньше требует времени)
как JasperReports это решает, насколько он сложен в освоении?
я конечно могу прогуглить, но лучше еще и спросить )
PM MAIL   Вверх
DashkaTk
Дата 24.9.2009, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 3.12.2007
Где: Запорожье

Репутация: нет
Всего: нет



покурила доки по  jasperReport
теперь понятно к чему был вопрос 
Цитата

Расскажите чуть подробнее о предыстории этого XML.

Нет, он мне не подходит
Он больше для манипуляции и упорядочивании полученных данных (в большинстве случаев аля селект фром датабэйз), у меня же упор на всякие рюшики, приблудки и красивости. Это может быть бланк приглашения, который приехал в xml, который содержит куча атачей с картинками, табличками, разноуровневым шрифтом.
да,  jasper может понимать html при простановке ему соответствующего атрибута, но как отзываются специалисты, половина не рендерится
исправьте меня, если я не права в какой-то букве

Это сообщение отредактировал(а) DashkaTk - 24.9.2009, 23:42
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0667 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.