Распечатать XML в формате PDF, используя itext - PullRequest
0 голосов
/ 03 октября 2011

Я хочу напечатать xml в pdf, используя itext в java, а также отформатировать и отобразить в цвете и с отступами, как показано в notepad ++,

какие-либо API или предложения по этому поводу?

1 Ответ

1 голос
/ 03 октября 2011

Я преобразовал XHTML в pdf, через iText, используя летающую тарелку для рендеринга (ранее рендеринг xhtml).

http://code.google.com/p/flying-saucer/

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

Я не был уверен, что вы имели в виду в отношении Notepad ++ - у меня там нет поддержки PDF, он просто открывается как содержимое двоичного файла, если только вы не используете плагин PDF?

:: Ответ обновленпосле комментариев ниже.

Спасибо за комментарий, теперь я понимаю вопрос намного лучше.Я думал, что вы хотите вывести данные в формате XML в формате PDF, теперь я понимаю, что вы хотите видеть сам исходный XML в формате PDF, отформатированный так же, как XML в формате «Блокнот», цвета и все такое.

XML - это язык разметки, предназначенный для описания данных, поэтому вы хотите перевести его на язык, который может описывать представление и стиль, а также данные.Я бы предложил

1) Преобразовать XML в XHTML, чтобы весь XML (теги, атрибуты) был вашим контентом, и у вас есть классы, описывающие каждый тип (например, имена атрибутов, значения атрибутов, начальный тег, конец тега).Я не знаю, можете ли вы использовать библиотеку XSLT для ее преобразования, иначе вы можете написать что-то самостоятельно на Java, проходя через DOM и выводя ее так, как вы хотите.Таким образом, вы можете

2) Создать CSS для стилизации ваших классов, как вы хотите - например, иметь все имена атрибутов как цвет текста "красный"

3) Использовать iText и летающую тарелку, как указано выше, для преобразованияXHTML и CSS в PDF с использованием Java, как описано в исходном ответе

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