2013-05-06 1 views
0

Я использую библиотеки fop v1.1 для создания pdf, и я заметил, что fop по умолчанию сбрасывает белые пробелы внутри строк. Например, блок, как:FOP обрезки пробелов и вкладки внутри строк

<fo:block> 
    Sample     Text 
</fo:block> 

визуализации, как

Sample text 

устранения пробелов. Я хотел бы сохранить строки внутренних пробелов в сгенерированном pdf, поэтому я попытался использовать атрибут white-space="pre" внутри тега блока, но он сохраняет только белые пробелы вне строки.

Затем я попытался использовать атрибут white-space-treatment="preserve" внутри тега блока, но на странице рендеринга были свернуты белые пробелы.

Наконец, я попытался использовать атрибут white-space-collapse="false" внутри блока, а также в этом случае рендерная страница обрушила белые пробелы.

Почему fop сбрасывается по умолчанию в белых пробелах внутри строки? Есть ли способ изменить поведение fop, чтобы сохранить белые пробелы внутри строк?

+0

Я не могу воспроизвести это. 'white-space =" pre "работает для меня. Не могли бы вы объяснить, что вы делаете более подробно? Как вы создаете разметку XSL-FO? – mzjn

ответ

0

white-space="pre" должен работать здесь или вы можете использовать linefeed-treatment = "preserve", white-space-collapse = "false", white-space-treatment = "preserve", wrap-option = "no-wrap" которые равны white-space="pre". Для получения дополнительной информации вы также можете посетить http://www.learn-xsl-fo-tutorial.com/Blocks-Inlines.cfm#h1.6