fo:block text-align="center" line-height="22pt"
font-family="sans-serif" font-size="18pt">
Description of Service
После этого я размещаю пустой прямоугольник сразу под прямоугольником заголовка:
border-width="1pt" height="1.0cm" width="9cm" top="3cm"
left="0cm" padding="2pt" position="absolute">
font-family="sans-serif" font-size="18pt">
Description of Service
border-width="1pt" height="4cm" width="9cm" top="4.0cm"
left="0cm" padding="2pt" position="absolute">
font-family="sans-serif" font-size="12pt">
Результат показан на рис. 12.2. Я считаю эту возможность одной из самых важных в XSL-FO: вы можете помещать элементы в точности туда, куда вам нужно. Допустимо полагаться на поток объектов, создаваемый процессором XSL-FO, но иногда требуется расположить объекты в определенном месте, и теперь вы знаете, как это сделать.
Встроенные форматирующие объекты
Помимо объектов блока, в XSL-FO можно также создавать встроенные (inline) объекты. Встроенный объект представляет собой часть большей форматирующей области, такой как блок; например, встроенный объект может представлять одно или два слова в блоке. Встроенные объекты обычно применяются для форматирования части текста после того, как этот текст был размещен на странице в соответствии с обычным потоком. Можно увеличить первый символ в абзаце, выделить всю первую строку голубым цветом, вставить номера страниц, добавить рисунки и т.д.
Встроенные объекты можно применять для форматирования частей текста блока; например, в главе 11 мы видели, как свойство
text-decoration
объекта
применялось для подчеркивания текста:
font-family="Times">
Mass;
:
[Earth = 1]
В следующем списке перечислены встроенные форматирующие элементы:
•
;•
;•
;•
;•
;•
;•
;•
;•
;•
.Я опишу несколько самых распространенных встроенных элементов, начав с самого
.Создание встроенных областей:
Как вы уже видели в главе 11, при помощи элемента
вы можете форматировать части текста, задавая для них задний фон, подчеркивая текст или заключая текст в границы. Элемент позволяет форматировать встроенную область из нескольких слов в блоке текста как если бы они сами представляли собой блок.С элементом
можно применять следующие свойства:• общие свойства доступа:
source-document
, role
;• общие звуковые свойства:
azimuth
, cue-after
, cue-before
, elevation
, pause-after
, pause-before
, pitch
, pitch-range
, play-during
, richness
, speak
, speak-header
, speak-numeral
, speak-punctuation
, speech-rate
, stress
, voice-family
, volume
;• общие свойства границ, заполнения и заднего фона:
background-attachment
, background-color
, background-image
, background-repeat
, background-position-horizontal
, background-position-vertical
, border-before-color
, border-before-style
, border-before-width
, border-after-color
, border-after-style
, border-after-width
, border-start-color
, border-start-style
, border-start-width
, border-end-color
, border-end-style
, border-end-width
, border-top-color
, border-top-style
, border-top-width
, border-bottom-color
, border-bottom-style
, border-bottom-width
, border-left-color
, border-left-style
, border-left-width
, border-right-color
, border-right-style
, border-right-width
, padding-before
, padding-after
, padding-start
, padding-end
, padding-top
, padding-bottom
, padding-left
, padding-right
;• общие свойства шрифтов:
font-family
, font-size
, font-stretch
, font-size-adjust
, font-style
, font-variant
, font-weight
;• общие свойства встроенных полей:
space-end
, space-start
;•
alignment-adjust
;•
baseline-identifier
;•
baseline-shift
;•
color
;•
dominant-baseline
;•
id
;•
keep-together
;•
keep-with-next
;•
keep-with-previous
;•
line-height
;•
line-height-shift-adjustment
;•
relative-position
;•
text-decoration
;•
visibility
;•
z-index
.Например, мы уже видели, как подчеркнуть отдельное слово внутри остального текста при помощи свойства
text-decoration
:
font-familу="Times">
Mass
:
[Earth = 1]
Мы еще встретим элемент
, когда будем рассматривать сноски позже в этой главе.Обработка отдельных символов:
Как можно догадаться по имени, объект
позволяет работать с отдельными символами в документе. Одна из областей применения
— случай, когда нужно заменить определенные символы на другие. В следующем примере я выбираю элемент с именем
и заменяю его символы на символ «*»:
При помощи элемента
можно форматировать отдельные символы, как в следующем случае, где символы в слове «HELLO» выделяются различными цветами:
С элементом
можно применять следующие свойства:• общие звуковые свойства:
azimuth
, cue-after
, cue-before
, elevation
, pause-after
, pause-before
, pitch
, pitch-range
, play-during
, richness
, speak
, speak-header
, speak-numeral
, speak-punctuation
, speech-rate
, stress
, voice-family
, volume
;• общие свойства границ, заполнения и заднего фона:
background-attachment
, background-color
, background-image
, background-repeat
, background-position-horizontal
, background-position-vertical
, border-before-color
, border-before-style
, border-before-width
, border-after-color
, border-after-style
, border-after-width
, border-start-color
, border-start-style
, border-start-width
, border-end-color
, border-end-style
, border-end-width
, border-top-color
, border-top-style
, border-top-width
, border-bottom-color
, border-bottom-style
, border-bottom-width
, border-left-color
, border-left-style
, border-left-width
, border-right-color
, border-right-style
, border-right-width
, padding-before
, padding-after
, padding-start
, padding-end
, padding-top
, padding-bottom
, padding-left
, padding-right
;• общие свойства шрифтов:
font-family
, font-size
, font-stretch
, font-size-adjust
, font-style
, font-variant
, font-weight
;• общие свойства переносов:
country
, language
, script
, hyphenate
, hyphenation-character
, hyphenation-push-character-count
, hyphenation-remain-character-count
;• общие свойства встроенных полей:
space-end
, space-start
;•
alignment-adjust
;•
treat-as-word-space
;•
baseline-identifier
;•
baseline-shift
;•
character
;•
color
;•
dominant-baseline
;•
font-height-override-after
;•
font-height-override-before
;•
glyph-orientation-horizontal
;•
glyph-orientation-vertical
;•
id
;•
keep-with-next
;•
keep-with-previous
;•
letter-spacing
;•
line-height
;•
line-height-shift-adjustment
;•
relative-position
;•
score-spaces
;•
suppress-at-line-break
;•
text-decoration
;•
text-shadow
;•
text-transform
;•
word-spacing
.Создание номеров страниц:
Встроенный форматирующий объект
создает встроенную область, отображающую номер текущей страницы. Например:
You are now reading page .
С элементом
можно применять следующие свойства:• общие свойства доступа:
source-document
, role
;• общие звуковые свойства:
azimuth
, cue-after
, cue-before
, elevation
, pause-after
, pause-before
, pitch
, pitch-range
, play-during
, richness
, speak
, speak-header
, speak-numeral
, speak-punctuation
, speech-rate
, stress
, voice-family
, volume
;• общие свойства границ, заполнения и заднего фона:
background-attachment
, background-color
, background-image
, background-repeat
, background-position-horizontal
, background-position-vertical
, border-before-color
, border-before-style
, border-before-width
, border-after-color
, border-after-style
, border-after-width
, border-start-color
, border-start-style
, border-start-width
, border-end-color
, border-end-style
, border-end-width
, border-top-color
, border-top-style
, border-top-width
, border-bottom-color
, border-bottom-style
, border-bottom-width
, border-left-color
, border-left-style
, border-left-width
, border-right-color
, border-right-style
, border-right-width
, padding-before
, padding-after
, padding-start
, padding-end
, padding-top
, padding-bottom
, padding-left
, padding-right
;• общие свойства шрифтов:
font-family
, font-size
, font-stretch
, font-size-adjust
, font-style
, font-variant
, font-weight
;• общие свойства встроенных полей:
space-end
, space-start
;•
alignment-adjust
;•
baseline-identifier
;•
baseline-shift
;•
dominant-baseline
;•
id
;•
keep-with-next
;•
keep-with-previous
;•
letter-spacing
;•
line-height
;•
line-height-shift-adjustment
;•
relative-position
;•
score-spaces
;•
text-decoration
;•
text-shadow
;•
text-transform
;•
word-spacing
.Пример применения номеров страниц будет показан при обсуждении последовательностей страниц в конце этой главы.
Вставка графики:
Популярный элемент при форматировании XSL-FO —
, при помощи которого можно вставить в документ рисунок.С элементом
можно применять следующие свойства:• общие свойства доступа:
source-document
, role
;• общие звуковые свойства:
azimuth
, cue-after
, cue-before
, elevation
, pause-after
, pause-before
, pitch
, pitch-range
, play-during
, richness
, speak
, speak-header
, speak-numeral
, speak-punctuation
, speech-rate
, stress
, voice-family
, volume
;• общие свойства границ, заполнения и заднего фона:
background-attachment
, background-color
, background-image
, background-repeat
, background-position-horizontal
, background-position-vertical
, border-before-color
, border-before-style
, border-before-width
, border-after-color
, border-after-style
, border-after-width
, border-start-color
, border-start-style
, border-start-width
, border-end-color
, border-end-style
, border-end-width
, border-top-color
, border-top-style
, border-top-width
, border-bottom-color
, border-bottom-style
, border-bottom-width
, border-left-color
, border-left-style
, border-left-width
, border-right-color
, border-right-style
, border-right-width
, padding-before
, padding-after
, padding-start
, padding-end
, padding-top
, padding-bottom
, padding-left
, padding-right
;• общие свойства встроенных полей:
space-end
, space-start
;•
alignment-adjust
;•
baseline-identifier
;•
baseline-shift
;•
block-progression-dimension
;•
content-height
;•
content-type
;•
content-width
;•
dominant-baseline
;•
height
;•
id
;•
inline-progression-dimension
;•
keep-with-next
;•
keep-with-previous
;•
line-height
;•
line-height-shift-adjustment
;•
relative-position
;•
overflow
;•
scaling
;•
scaling-method
;•
src
;•
width
.Как в HTML, можно устанавливать размер рисунка в документе — в XSL-FO для этого служат свойства
content-height
, content-width
и scaling
; если их не задать, рисунок будет отображен в своем первоначальном размере. Следующий пример, graphics.fo
(листинг 12.4), отображает рисунок, xslfo.jpg
, и подпись к нему:Листинг 12.4. graphics.fo
margin-bottom="10mm" margin-top="10mm" page-width="300mm"
page-height="400mm" master-name="page">
margin-bottom="10mm" margin-top="0mm"/>
font-size="36pt" text-align="center">
Using Graphics
An image embedded in a document.
Документ PDF, созданный из
graphics.fo
, показан на рис. 12.3.Рис. 12.3. Отображение рисунка при помощи форматирующих объектов
Вставить рисунок в результирующий документ легко, если вставку поддерживает ваше программное обеспечение. Процессор fop теперь поддерживает рисунки (еще несколько версий назад он этого не делал), поэтому вы можете вставлять рисунки при помощи элемента
следующим образом:
Форматирование первых строк:
При помощи элемента
вы можете задать свойства для первой строки в блоке и отформатировать ее. В следующем примере я форматирую первую строку блока капителью (small caps) при помощи свойства font-variant
(которое, кстати, fop не поддерживает):
This text will be displayed in the result document.
The first line will be dis played using small caps.
С элементом
можно применять следующие свойства:• общие свойства доступа:
source-document
, role
;• общие звуковые свойства:
azimuth
, cue-after
, cue-before
, elevation
, pause-after
, pause-before
, pitch
, pitch-range
, play-during
, richness
, speak
, speak-header
, speak-numeral
, speak-punctuation
, speech-rate
, stress
, voice-family
, volume
;• общие свойства границ, заполнения и заднего фона:
background-attachment
, background-color
, background-image
, background-repeat
, background-position-horizontal
, background-position-vertical
, border-before-color
, border-before-style
, border-before-width
, border-after-color
, border-after-style
, border-after-width
, border-start-color
, border-start-style
, border-start-width
, border-end-color
, border-end-style
, border-end-width
, border-top-color
, border-top-style
, border-top-width
, border-bottom-color
, border-bottom-style
, border-bottom-width
, border-left-color
, border-left-style
, border-left-width
, border-right-color
, border-right-style
, border-right-width
, padding-before
, padding-after
, padding-start
, padding-end
, padding-top
, padding-bottom
, padding-left
, padding-right
;• общие свойства шрифтов:
font-family
, font-size
, font-stretch
, font-size-adjust
, font-style
, font-variant
, font-weight
;•
color
;•
id
;•
letter-spacing
;•
line-height
;•
line-height-shift-adjustment
;•
relative-position
;•
score-spaces
;•
text-decoration
;•
text-shadow
;•
text-transform
;•
word-spacing
.На этом мы заканчиваем обзор встроенных форматирующих объектов; в следующих разделах мы рассмотрим подстрочный форматирующий объект — сноски.
Создание сносок: