![]() |
|
Модераторы: powerfox, ZeeLax |
![]()
|
|
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 1 Всего: 207 |
Есть XML, есть XSL к нему, надо сгенерить PDF.
Как я сейчас вижу: 1) XML+XSL -> HTML (здесь вроде бы всё просто - используем Web сервер или можно проще?) 2) Печатаем HTML на Postscript принтере в файл (вот тут проблема - как?) 3) Превращаем PS -> PDF (тут тоже проблемы, PDF должен быть сделан со всеми аттрибутами защиты - невозможность редактирования, выделения текста) Всё это должно делаться автоматически, т.е. никаких - открыл браузер, нажал кнопку... только из приложения. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| NightGoblin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1021 Регистрация: 24.11.2002 Где: 127.0.0.1 Репутация: 8 Всего: 11 |
Vit, по предложенной тобой схеме в принципе все должно быть осуществимо. Из HTML в PS можно "отпечатать" любым браузером - например, Mozilla. А в PDF можно сконвертить при помощи TeX. Подробнее на эту тему я вряд ли расскажу что-нибудь, поскольку сам пока что им не пользовался - хотя в недалеком будущем придется. Думается мне, что вообще всю эту операцию можно провернуть через TeX (TeTeX, LaTeX и т. п.).
-------------------- Kernel panic: /dev/null overflow! GCS/IT/MU/O d-@ s: a- C++$>++++$ ULSB(+++) P+++ L+++>++++ !E W++(-) N o? K w-- O? M>+ V? PS+ PE Y+ PGP+>+++ t- 5 X+ R- !tv b+ DI+ D+ G e++ h--- r++ y? B4F1 54B6 8738 26CD 5125 0581 B923 9273 FE59 1981 |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
XML+XSL -> HTML очень быстро получается с помощью xsltproc, но не уверен, поддерживает ли он xml v.1.1.
А нельзя написать xsl файл, который конвертировал бы xml не в html, а в fo? тогда бы вся трансформация осуществлялась вызовом одной программы (типа fop (xml.apache.org/fop), она же, кстати, и необходимое шифрование добавляет, а в составе iText'а (iText, a Free Java-PDF library, http://www.lowagie.com/iText/), есть утилита Encrypt, шифрующая готовый pdf файл. Я правда ею сам не пользовался, но если ей и не достаёт функциональности, аналогичную можно реализовать с использованием этой же библиотеки). Кстати, в Debian есть пакет htmldoc, который позоляет html конвертировать и в ps и напрямую в pdf. С teTeX идея, по-моему, интересная, но придётся html переводить в ltx, сомневаюсь, что без потерь, ltx в pdf (тут всё работает, конечно) - всё это обходные пути, а xsl (xslt+fo) для того и создавался, чтобы подобные задачи решались без проблем |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 1 Всего: 207 |
Как? Я знаю, что можно открыть HTML в браузере и нажать кнопку, но надо это сделать из программы, руками не касаясь ни мышки ни клавиатуры. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 1 Всего: 207 |
А подробней, по шагам, для полных идиотов можно? -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 1 Всего: 207 |
А конвертация получается точно такая же как на Web? Я имею ввиду в плане внешнего вида. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 1 Всего: 207 |
Что-то я не допёр, xsl - вроде как шаблон, он ничего не конвертирует... В принципе ситуация такая - мне надо получить и HTML и PDF абсолютно одинаковые по начертанию используя один и тот же xsl+xml. Т.е. у меня в базе данных хранятся XML, есть набор XSL - для каждого пользователя созданный под него, пользователь может выйти на сайт и посмотреть отчёт в HTML, а может запросить этот же отчёт в ввиде PDF. Сейчас генерация PDF реализована при помощи Crystal Report, т.е. надо для каждого клиента иметь 2 шаблона - один для Web в ввиде XSL, один для PDF в виде RPT файла для Crystal. Так как шаблонов очень много их поддержка становится всё более и более затруднительная, поэтому есть идея отказаться от Crystal и всё делать используя один и тот же XSL. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 1 Всего: 207 |
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4379 Регистрация: 15.8.2002 Где: Москва Репутация: нет Всего: 32 |
Vit, http://www.lowagie.com/iText/ (там скобка была в конце, из-за которой линк становился битым)
-------------------- Three pings for the token rings, Five pings for the UNIX machines, Hundred pings for the broken links, One special ping to check them all Through Simple Network Management Protocol! |
|||
|
||||
| Guest |
|
||||
|
Unregistered |
Ну внешний вид зависит от XSL, а не от процессора, с помощью которого мы его применяем к XML, отличия от Web могут быть вызваны разве что присутствием CSS и, разумеется, различиями движков, которые рендерят HTML |
||||
|
|||||
| Guest |
|
||||
|
Unregistered |
|
||||
|
|||||
| Vit |
|
||||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 1 Всего: 207 |
Общего много, но различия подчас очень серьёзны, одним шаблоном не обойтись.
Суть в том что и сейчас 2 файла - один RPT для Crystal (PDF) и один XSL для HTML, смысл в том чтобы оставить только один. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
||||
|
|||||
| sunyate |
|
|||
|
Unregistered |
Я так понял, что сейчас по два файла на каждого пользователя, а суть в том, чтобы осталось всего два. Отличный пример - docbook.xsl, там, кстати для сложных случаев, когда одним шаблоном всем не угодить, предусмотренна система меташаблонов (xmlns:t), которые легче подстроить под конкретного заказчика, а затем трансформировать уже в xsl. Может быть с помощью чего-то подобного можно было бы решить задачу. Насчёт печати из Mozill'ы, думается, пользователь и сам может это сделать, ведь т.наз. printer friendly version отличается от распечатанного html именно стилем (ссылки, поля, и т.д. и т.п.). Вообще, любопытно, на каком решении ты остановишься |
|||
|
||||
| Гость_Taras |
|
|||
|
Unregistered |
Слушайте! Вы что совсем того.Для такой потоковой конвертацыи существует такая вещь как XSL-FO которая переводит XSL в PDF. Но понятно что перед тем нужно иметь готовый XML текстовий файл. И все, вам остается только внести потом изменения в XML файт и PDF документ корректируется автоматически!!!
За документацией обращайтесь на страничку http://www.w3.org |
|||
|
||||
![]()
|
| Правила форума "Linux/UNIX: Oбщие вопросы" | |
|
|
В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу). В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим. Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |