Чтение онлайн

на главную - закладки

Жанры

Холзнер Стивен

Шрифт:

Последовательности страниц и нумерация страниц

Пока я использовал один и тот же шаблон страницы для всех страниц в рассмотренных нами документах XSL-FO. Если содержимое документа занимает более одной страницы, процессор XSL-FO использует тот же шаблон страницы для всех последующих страниц.

Но вам может быть нужно использовать различные шаблоны страницы в разных местах документа. Например, первую страницу нужно отформатировать отлично от следующих. При помощи XSL-FO это можно сделать.

Каждый элемент

<fo:page-sequence>
,
который я применял во всех примерах XSL-FO, ссылается либо на шаблон страницы, либо на элемент
<fo:page-sequence-master>
. При помощи элемента
<fo:page-sequence-master>
вы можете задать различные шаблоны страницы для последовательности страниц.

Пример

pages.fo
продемонстрирует вышесказанное. Я создам для первой страницы один простой шаблон страницы, «first» (первая), в котором текстовая часть смещена вниз страницы, для чего я устанавливаю свойство
margin-top
элемента
<fo:region-body>
в «50mm»:

<?xml version="1.0" encoding="UTF-8"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

 <fo:layout-master-set>

<fo:simple-page-master margin-right="20mm" margin-left="20mm"

margin-bottom="10mm" margin-top="10mm" page-width="300mm"

page-height="400mm" master-name="first">

<fo:region-body margin-right="0mm" margin-left="0mm"

margin-bottom="10mm" margin-top="50mm"/>

<fo:region-after extent="10mm"/>

<fo:region-before extent="10mm"/>

</fo:simple-page-master>

.

.

.

Для всех остальных страниц я создам новый шаблон страницы, «rest» (остальные), в котором текст будет начинаться сверху страницы, для чего я устанавливаю свойство

margin-top
элемента
<fo:region-body>
в «20mm»:

<?xml version="1.0" encoding="UTF-8"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

 <fo:layout-master-set>

<fo:simple-page-master margin-right="20mm" margin-left="20mm"

margin-bottom="10mm" margin-top="10mm" page-width="300mm"

page-height="400mm" master-name="first">

.

.

.

</fo:simple-page-master>

<fo:simple-page-master margin-right="25mm" margin-left="25mm"

margin-bottom="15mm" margin-top="15mm" page-width="300mm"

page-height="400mm" master-name="rest">

<fo:region-body margin-right="0mm" margin-left="0mm"

margin-bottom="10mm" margin-top="20mm"/>

<fo:region-after extent="10mm"/>

<fo:region-before extent="10mm"/>

</fo:simple-page-master>

.

.

.

Чтобы

создать шаблон последовательности страниц, использующий простые шаблоны страниц «first» и «rest», я применяю элемент
<fo:page-sequence-master>
:

<?xml version="1.0" encoding="UTF-8"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

 <fo:layout-master-set>

<fo:simple-page-master margin-right="20mm" margin-left="20mm"

margin-bottom="10mm" margin-top="10mm" page-width="300mm"

page-height="400mm" master-name="first">

.

.

.

</fo:simple-page-master>

<fo:simple-page-master margin-right="25mm" margin-left="25mm"

margin-bottom="15mm" margin-top="15mm" page-width="300mm"

page-height="400mm" master-name="rest">

.

.

.

</fo:simple-page-master>

<fo:page-sequence-master master-name="sequence">

.

.

.

</fo:page-sequence-master>

 </fo:layout-master-set>

С элементом

<fo:page-sequence-master>
вы можете применять следующее свойство:

master-name
.

Здесь я просто назвал новую последовательность страниц «sequence» (последовательность). Я создаю шаблон последовательности страниц повторяющегося типа, и для задания имен шаблонов страниц в новой последовательности служит элемент

<fo:repeatable-page-master-alternatives>
:

<fo:page-sequence-master master-name="sequence">

Поделиться:
Популярные книги

Эпоха Опустошителя. Том II

Павлов Вел
2. Вечное Ристалище
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эпоха Опустошителя. Том II

Жена со скидкой, или Случайный брак

Ардова Алиса
Любовные романы:
любовно-фантастические романы
8.15
рейтинг книги
Жена со скидкой, или Случайный брак

Запечатанный во тьме. Том 1. Тысячи лет кача

NikL
1. Хроники Арнея
Фантастика:
уся
эпическая фантастика
фэнтези
5.00
рейтинг книги
Запечатанный во тьме. Том 1. Тысячи лет кача

Виктор Глухов агент Ада. Компиляция. Книги 1-15

Сухинин Владимир Александрович
Виктор Глухов агент Ада
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Виктор Глухов агент Ада. Компиляция. Книги 1-15

Древесный маг Орловского княжества 3

Павлов Игорь Васильевич
3. Орловское княжество
Фантастика:
аниме
сказочная фантастика
фэнтези
попаданцы
гаремник
5.00
рейтинг книги
Древесный маг Орловского княжества 3

Адвокат Империи 14

Карелин Сергей Витальевич
14. Адвокат империи
Фантастика:
городское фэнтези
аниме
попаданцы
5.00
рейтинг книги
Адвокат Империи 14

Страж Кодекса. Книга IV

Романов Илья Николаевич
4. КО: Страж Кодекса
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Страж Кодекса. Книга IV

Я еще не бог. Книга XXXV

Дрейк Сириус
35. Дорогой барон!
Фантастика:
аниме
попаданцы
5.00
рейтинг книги
Я еще не бог. Книга XXXV

Я спас СССР! том 2

Вязовский Алексей
2. Я спас СССР
Фантастика:
альтернативная история
5.62
рейтинг книги
Я спас СССР! том 2

Кодекс Охотника XXXI

Винокуров Юрий
31. Кодекс Охотника
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Охотника XXXI

Наномашины, первоклашка! Том 4

Новиков Николай Васильевич
4. Чего смотришь? Иди книгу читай
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наномашины, первоклашка! Том 4

Громовая поступь. Трилогия

Мазуров Дмитрий
Громовая поступь
Фантастика:
фэнтези
рпг
4.50
рейтинг книги
Громовая поступь. Трилогия

Снайпер

Поселягин Владимир Геннадьевич
3. Жнец
Фантастика:
боевая фантастика
попаданцы
5.60
рейтинг книги
Снайпер

Кодекс Крови. Книга ХVI

Борзых М.
16. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХVI