Как управлять потоками строковых значений в нескольких строках таблицы.Значение разделяется запятой и имеет точки вместе с ним - PullRequest
0 голосов
/ 25 марта 2019

Я создаю PDF-документ с XSLT. У меня есть строковое значение для одного из столбцов в таблице, и это комбинация точек и дефисов (например, D1234.23, .745, .258, -98). При отображении значения в документе строка заканчивается запятой и точкой в ​​одной строке, а значение - следующей строкой.

Я пробовал свойства Keep-together="always" и keep-with-next="always", но он не работает. Может кто-нибудь предложить какой-то другой вариант для этого.

    <fo:table-cell number-columns-spanned="1"
               number-rows-spanned="1"
               space-before.optimum="8pt"
               border-color="black"
               border-style="solid"
               border-width="0.4pt"
               white-space-collapse="false"
               white-space-treatment="preserve">
    <fo:block space-after.optimum="10pt"></fo:block>
    <fo:block-container overflow="condense"
                        axf:overflow-condense="font-size"
                        font-weight="bold">
        <fo:block text-align="center"
                  space-before.optimum="2pt"
                  axf:text-align-string="center"
                  keep-with-next="always">ABCDEF.TRR, -234, -543, .243, .867, .124, .322, .3123, .1334
        </fo:block>
    </fo:block-container>
</fo:table-cell>

Фактический результат: ABCDEF.TRR, -234, -543, .243, . 867, .124, .322, .3123, .1334

Ожидаемый результат: ABCDEF.TRR, -234, -543, .243, .867, .124, .322, .3123, .1334

1 Ответ

0 голосов
/ 27 марта 2019

вы должны добавить fo: inline для каждого значения, разделенного ',', как показано ниже, это может решить вашу проблему

<fo:block text-align="center" space-before.optimum="2pt" axf:text-align-string="center"
    keep-with-next="always">
    <fo:inline keep-together.within-line="always">ABCDEF.TRR</fo:inline>,
    <fo:inline keep-together.within-line="always">-234</fo:inline>, 
    <fo:inline keep-together.within-line="always">-543</fo:inline>, 
    <fo:inline keep-together.within-line="always">.243</fo:inline>, 
    <fo:inline keep-together.within-line="always">.867</fo:inline>, 
    <fo:inline keep-together.within-line="always">.124</fo:inline>, 
    <fo:inline keep-together.within-line="always">.322</fo:inline>, 
    <fo:inline keep-together.within-line="always">.3123</fo:inline>, 
    <fo:inline keep-together.within-line="always">.1334</fo:inline>
</fo:block>
...