Если вам действительно нужно, чтобы текст по центру и текст, выровненный по правому краю, находились внутри одного и того же fo:table-cell
, вы можете использовать отрицательное пространство между двумя fo:block
элементами поставить их, по-видимому, на одной строке:
<fo:table-cell>
<fo:block text-align="center" space-after="-14.4pt">in the center</fo:block>
<fo:block text-align="right">to the right</fo:block>
</fo:table-cell>
Это должно сработать (я проверил это с FOP), но это может считаться грязной уловкой; точное значение для space-after
зависит от высоты строки для первого блока, которая по умолчанию равна 1,2 * font-size (сама по умолчанию равна 12pt), поэтому вам может потребоваться вычислить правильное значение для вашей конкретной ситуации.
Однако , я думаю, что во многих ситуациях вы могли бы просто
- использовать таблицу из трех столбцов, первая и третья таблицы имеют одинаковую ширину
- поместите центрированный текст во вторую ячейку
- поместите выровненный по правому краю текст в третью ячейку
- определяют границу только за пределами строки таблицы, поэтому три ячейки отображаются в выводе как одна.
(как уже прокомментировал Тони Грэм, более точное описание желаемого результата или, еще лучше, изображение, показывающее его, поможет предложить правильный ответ для вашей ситуации)