оригинальный текст слева с переводом справа - PullRequest
0 голосов
/ 12 октября 2018

Я хотел бы подготовить PDF-файл с XSL-FO текста, перевод которого направлен на основной текст, чтобы на левых страницах у меня был исходный текст, а на правых страницах - перевод.Как бы я это сделал?Я попробовал решение, предложенное здесь , но у меня ничего не вышло, оно работает только в том случае, если контент не должен переходить на следующую страницу, и та же проблема, поднятая там, остается для меня актуальной.Есть ли способ добиться этого и иметь два параллельных потока?

1 Ответ

0 голосов
/ 12 октября 2018

В качестве первого шага создайте свой 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-leftfo:region-body.

правой страницы в вашемfo:page-sequence, сгенерируйте два fo:flow, каждый из которых имеет копию вашего контента.Направьте один на fo:region-body на левой странице, а другой на fo:region-body на правой странице.

Все хорошо, вы сможете отформатировать две копииВаш контент с одинаковыми строками и разрывами страниц.Поскольку содержимое, которое переполняет страницу, невидимо, оно будет выглядеть как одна версия вашего содержимого.

Если вы не будете выполнять больше работы, вы испортите доступ к вашему документу, так как программа чтения с экранахотел бы прочитать обе копии вашего контента.Вы также сделали ужасные вещи для своей доступности, положив все в таблицу для начала.

Если ваш контент содержит идентификаторы, то вам нужно убедиться, что вы генерируете только один из каждого идентификатора и что он включенверсия FO, которая будет видна, если пользователь перейдет на эту страницу.

...