2013-04-29 1 views
2

Я хочу преобразовать HTML с Css в xsl-fo. Любой может предложить мне, как это сделать.Как преобразовать HTML с CSS в xsl-fo

У меня есть файл с двумя файлами html и один раз css-файл. Я хочу сгенерировать файл xsl-fo с этими двумя файлами, чтобы я мог легко создавать PDF, rtf и другой формат.

HTML file 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
<link rel="stylesheet" type="text/css" href="style.css"/> *--> css file* 
<title></title> 
</head> 
<body> 
<div class="cw-default"> 
<p><span class="sans"><b>Short title</b></span> this is text for testing<i>italic text</i>.</p> 
<p class="center">this is test</p> 
</div> 
</body> 
</html> 

style.css файл добавит proprty в HTML, я хочу это значение свойств придет в сгенерированном файле FO также.

/* Style Sheet */ 

.cw-default { font-size: 1em; } 
.sans { font-family: arial,helvetica } 
.center {text-align: center;} 

С уважением, Param

+1

Hi Param, добро пожаловать в SO. Можете ли вы добавить образец кода того, что вы пробовали? Таким образом, мы можем видеть, что происходит не так и, возможно, может помочь вам лучше. – Bazzz

+0

См. Также http://stackoverflow.com/a/21345708/287948 –

ответ

0

Преобразование HTML в XSL-FO является преобразование из одного языка разметки к другой. Разница между ними заключается в том, что HTML используется для отображения в браузерах, а xsl-fo используется для преобразования PDF в Renderers.
CSS не является инструментом для преобразования языка разметки, но для его стилизации. Вы можете использовать его как с HTML, так и с xsl-fo, но это не значит, что он способен сделать преобразование. Язык, построенный для преобразований, - XSLT. Это правильный инструмент для того, чего вы хотите достичь. Имейте в виду, что XSLT работает с вводом XML, и большинство HTML недопустимо XML, но XHTML есть. Просто убедитесь, чтобы закрыть ваши метки ;-)
Вот пример: Xslt to xsl-fo transformation

+0

Я могу преобразовать html в xsl-fo с помощью xslt, но я хочу, чтобы css также имел все атрибуты, такие как выравнивание, отступы, цвет и т. Д. Для достижения стиля css в xsl-fo хочу получить предложение. – user2331011

+0

В классах запускается css, вы можете использовать атрибуты для преобразования преобразования. Идея дает http://stackoverflow.com/questions/977874/is-there-something-like-css-built-into-xsl-fo – Andreas

3

Мы использовали это во многих проектах:

Werner Donne's CSS to XSL FO

Это XSL плюс код для преобразования CSS, CSS2 в XSL FO.

+0

См. Также инструменты для прямого преобразования HTML + CSS или XML + CSS в PDF, http : //stackoverflow.com/a/21345708/287948 –