Преобразование XML в PDF с использованием стилей из XSL - PullRequest
0 голосов
/ 18 октября 2011

У меня следующая проблема: у меня есть файл XML с таблицей стилей XSL, который отображает этот файл XML как аккуратную таблицу в HTML, когда я загружаю его в веб-браузер.Теперь мне нужно сделать PDF-файл, который будет выглядеть точно так же, как этот XML-стиль XML в веб-браузере, без необходимости создания пользовательских FO для каждого файла.Все должно быть сделано на Java.

Ответы [ 2 ]

3 голосов
/ 28 октября 2011

Мне нужно создать PDF-файл, который будет выглядеть точно так же, как этот XML-стиль в веб-браузере

Подумайте еще раз об этом требовании. Постраничные носители, такие как PDF, и нестраничные носители, такие как HTML, могут только выглядеть «достаточно близко», но никогда «точно не похожи» друг на друга. Это еще более очевидно, если учесть, что ваш HTML отображается на устройствах с разными размерами экрана.

Если вы несколько ослабите вышеуказанное требование, вы, вероятно, согласитесь, что XSL-FO - лучший выбор. Вам определенно не нужно писать «пользовательские FO для каждого файла»: напишите XSLT только один раз и используйте его «на лету» для преобразования XML в XSL-FO, а затем используйте механизм рендеринга для обработки XSL-FO в PDF. Простой.

0 голосов
/ 18 октября 2011

XSL-FO звучит именно так, как вам нужно.Но если это не вариант, сначала явное выполнение XSLT-преобразования для XML в Java, а затем преобразование полученного HTML (который к тому времени является массивом String / байтовый массив / DOM / все, что вы хотите) в PDF с использованием некоторой дополнительной библиотеки, сделаеттрюк.Есть некоторые библиотеки, которые поддерживают HTML в PDF, например, iText.Преобразования XSLT в Java действительно просты.Там задействован небольшой код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...