В качестве первого шага создайте свой XSL-FO для перевода и основной текст в виде таблицы из двух столбцов (или трех столбцов, с центральным столбцом для избежания желоба).
Если выЕсли вы используете AH Formatter, то вы можете использовать расширение axf:spread-page-master
(см. https://www.antennahouse.com/product/ahf65/ahf-spread.html) и передать содержимое в fo:spread-region
, который охватывает обе страницы разворота. Работа выполнена.
Если выЕсли вы не используете AH Formatter, то вам нужно разделить fo:simple-page-master
для левой и правой страниц. fo:region-body
в каждой должна иметь различную region-name
. Оба fo:region-body
должны быть достаточно широкими дляширина обычного fo:region-body
(что бы вы использовали, если бы вы не притворялись), плюс поля желоба для обеих страниц, плюс ширина (как будет выглядеть) обычного fo:region-body
на лицевой странице.
В fo:region-body
для левой страницы установите margin-right
в отрицательное значение, равное двум значениям ширины желоба плюс номинальная ширина противоположного fo:region-body
. Аналогично для margin-left
fo:region-body
.
правой страницы в вашемfo:page-sequence
, сгенерируйте два fo:flow
, каждый из которых имеет копию вашего контента.Направьте один на fo:region-body
на левой странице, а другой на fo:region-body
на правой странице.
Все хорошо, вы сможете отформатировать две копииВаш контент с одинаковыми строками и разрывами страниц.Поскольку содержимое, которое переполняет страницу, невидимо, оно будет выглядеть как одна версия вашего содержимого.
Если вы не будете выполнять больше работы, вы испортите доступ к вашему документу, так как программа чтения с экранахотел бы прочитать обе копии вашего контента.Вы также сделали ужасные вещи для своей доступности, положив все в таблицу для начала.
Если ваш контент содержит идентификаторы, то вам нужно убедиться, что вы генерируете только один из каждого идентификатора и что он включенверсия FO, которая будет видна, если пользователь перейдет на эту страницу.