Π Π°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π±Π»ΠΎΠΊΠΎΠ²: <fo:block-container>
ΠΡΠΎΡΠ΅ΡΡΠΎΡΡ XSL-FO Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° Π±ΡΠ°ΡΠ·Π΅ΡΡ HTML: ΠΎΠ½ΠΈ Π²ΡΡΠ°Π²Π»ΡΡΡ Π±Π»ΠΎΠΊΠΈ Π² Β«ΠΏΠΎΡΠΎΠΊΒ» (flow) ΡΡΡΠ°Π½ΠΈΡΡ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠΈ Π±Π»ΠΎΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ, ΠΊΠ°ΠΊ Π² HTML-Π±ΡΠ°ΡΠ·Π΅ΡΠ΅. Π‘ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΈΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π² ΡΡΡΠ°Π½ΠΈΡΠ΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΡΠ°. Π Π² XSL-FO Ρ Π²Π°Ρ Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π»ΠΈΠ±ΠΎ Π² Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°Ρ ΡΡΡΠ°Π½ΠΈΡΡ, Π»ΠΈΠ±ΠΎ Π² ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ <fo:block-container>, ΠΊΠΎΡΠΎΡΡΠΉ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΡΡ, Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° Π±Π»ΠΎΠΊΠΎΠ². Π£Π΄ΠΎΠ±Π½ΠΎ ΡΠΎ, ΡΡΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΌΠΈ Π±Π»ΠΎΠΊΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ.
Π‘ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ <fo:block-container> ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°:
β’ ΠΎΠ±ΡΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ: absolute-position, top, right, bottom, left;
β’ ΠΎΠ±ΡΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Π³ΡΠ°Π½ΠΈΡ, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΈ Π·Π°Π΄Π½Π΅Π³ΠΎ ΡΠΎΠ½Π°: 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;
β’ ΠΎΠ±ΡΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΏΠΎΠ»Π΅ΠΉ Π΄Π»Ρ Π±Π»ΠΎΠΊΠΎΠ²: margin-top, margin-bottom, margin-left, margin-right, space-before, space-after, start-indent, end-indent;
β’ block-progression-dimension;
β’ break-after;
β’ break-before;
β’ clip;
β’ display-align;
β’ height;
β’ id;
β’ inline-progression-dimension;
β’ keep-together;
β’ keep-with-next;
β’ keep-with-previous;
β’ overflow;
β’ reference-orientation;
β’ span;
β’ width;
β’ writing-mode.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ (Π»ΠΈΡΡΠΈΠ½Π³ 12.3) Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠ°ΠΊ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π΄Π»Ρ Π±Π»ΠΎΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Ρ ΠΎΡΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΡΠ° ΡΡΡΠ°Π½ΠΈΡΡ
ΠΠΈΡΡΠΈΠ½Π³ 12.3. blockcontainer.fo<?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="page">
<fo:region-body margin-right="0mm" margin-left="0mm"
margin-bottom="10mm" margin-top="0mm"/>
<fo:region-after extent="10mm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-name="page">
<fo:flow flow-name="xsl-region-body">
<fo:block-container height="4cm" width="12cm" top="0cm" left="0cm"
position="absolute">
<fo:block text-align="start" line-height="18pt"
font-family="sans-serif" font-weight="bold" font-size="14pt">
Starpowder
</fo:block>
<fo:block text-align="start" line-height="18pt"
font-family="sans-serif" font-size="14pt">
The Starpowder Building:
</fo:block>
<fo:block text-align="start" line-height="18pt"
font-family="sans-serif" font-size="14pt">
1 Starpowder Avenue
</fo:block>
<fo:block text-align="start" line-height="18pt"
font-family="sans-serif" font-size="14pt">
New York. NY. 10011
</fo:block>
</fo:block-container>
<fo:block-container height="1cm" width="6cm" top="0cm" left="14cm"
position="absolute">
<fo:block text-align="start" line-height="22pt"
font-family="sans-serif" font-size="23pt">
Invoice
</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid"
border-width="1pt" height="0.7cm" width="3.5cm" top="1.2cm"
left="12.0cm" padding="2pt" position="absolute">
<fo:block text-align="start" line-height="15pt"
font-family="sans-serif" font-size="12pt">
Date
</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid"
border-width="1pt" height="0.7cm" width="3.5cm" top="1.9cm"
left="12.0cm" padding="2pt" position="absolute">
<fo:block text-align="start" line-height="15pt"
font-family="sans-serif" font-size="12pt">
January 1, 2002
</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid"
border-width="1pt" height="0.7cm" width="3.5cm" top="1.2cm"
left="15.5cm" padding="2pt" position="absolute">
<fo:block text-align="start" line-height="15pt"
font-family="sans-serif" font-size="12pt">
Terms
</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid"
border-width="1pt" height="0.7cm" width="3.5cm" top="1.9cm"
left="15.5cm" padding="2pt" position="absolute">
<fo:block text-align="start" line-height="15pt"
font-family="sans-serif" font-size="12pt">
Immediate
</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid"
border-width="1pt" height="1.0cm" width="9cm" top="3cm"
left="0cm" padding="2pt" position="absolute">
<fo:block text-align="center" line-height="22pt"
font-family="sans-serif" font-size="18pt">
Description of Service
</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid"
border-width="1pt" height="4cm" width="9cm" top="4.0cm"
left="0cm" padding="2pt" position="absolute">
<fo:block text-align="start" line-height="15pt"
font-family="sans-serif" font-size="12pt">
</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid"
border-width="1pt" height="1.0cm" width="9cm" top="3cm"
left="10cm" padding="2pt" position="absolute">
<fo:block text-align="center" line-height="22pt"
font-family="sans-serif" font-size="18pt">
Address for Payment:
</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid"
border-width="1pt" height="4cm" width="9cm" top="4.0cm"
left="10cm" padding="2pt" position="absolute">
<fo:block text-align="start" line-height="15pt"
font-family="sans-serif" font-size="12pt">
</fo:block>
</fo:block-container>
</fo:flow>
</fo:page-sequence>
</fo:root>
ΠΠΎΠΊΡΠΌΠ΅Π½Ρ PDF, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ fop ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ· blockcontainers.fo, ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½Π° ΡΠΈΡ. 12.2. ΠΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ΄Π΅ΡΡ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅, Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ» ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ Π² ΡΠ°Π·Π½ΡΠ΅ ΠΌΠ΅ΡΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Ρ ΡΡΠ°Π·Ρ ΠΆΠ΅ ΠΏΠΎΠ²Π΅ΡΡ Π΄ΡΡΠ³ΠΈΡ , ΠΏΠΎΡΡΠΎΠΌΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ³ΡΠ°Π΅Ρ Π²Π°ΠΆΠ½ΡΡ ΡΠΎΠ»Ρ.
Π ΠΈΡ. 12.2. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π±Π»ΠΎΠΊΠΎΠ²
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌΠΈ Π±Π»ΠΎΠΊΠΎΠ² ΠΏΡΠΎΡΡΠΎ. ΠΠ·Π³Π»ΡΠ½ΠΈΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ Β«Description of ServiceΒ» (ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΠ»ΡΠ³ΠΈ) Π½Π° ΡΠΈΡ. 12.2. Π― ΡΠΎΠ·Π΄Π°Π» Π΅Π³ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π΄Π²ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π±Π»ΠΎΠΊΠΎΠ²: ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Β«Description of ServiceΒ», Π° Π²ΡΠΎΡΠΎΠΉ β ΠΏΡΡΡΠΎΠΉ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΡΡΠ°Π·Ρ ΠΏΠΎΠ΄ ΠΏΠ΅ΡΠ²ΡΠΌ. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ» ΡΠ»Π΅ΠΌΠ΅Π½Ρ <fo:block-container>, ΡΠΊΠ°Π·Π°Π² ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π² ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ height (Π²ΡΡΠΎΡΠ°) ΠΈ width (ΡΠΈΡΠΈΠ½Π°) ΠΈ Π·Π°Π΄Π°Π² Π³ΡΠ°Π½ΠΈΡΡ Π² ΡΠ²ΠΎΠΉΡΡΠ²Π΅ border-width. ΠΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Ρ Π·Π°Π΄Π°Π», ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ position Π² absolute ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΡΠ²ΠΎΠΉΡΡΠ²Π° left (Π»Π΅Π²ΡΠΉ) ΠΈ top (Π²Π΅ΡΡ Π½ΠΈΠΉ) Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠ³Π»Π° ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ° ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ Π²Π΅ΡΡ Π½Π΅ΠΌΡ Π»Π΅Π²ΠΎΠΌΡ ΡΠ³Π»Ρ ΡΡΡΠ°Π½ΠΈΡΡ:
<fo:block-container border-color="black" border-style="solid"
border-width="1pt" height="1.0cm" width="9cm" top="3cm"
left="0cm" padding="2pt" position="absolute">
.
.
.
</fo:block-container>
Π’Π΅ΠΏΠ΅ΡΡ Ρ ΠΌΠΎΠ³Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π±Π»ΠΎΠΊ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Β«Description of ServiceΒ»:
<fo:block-container border-color="black" border-style="solid"
border-width="1pt" height="1.0cm" width="9cm" top="3cm"
left="0cm" padding="2pt" position="absolute">
<fo:block text-align="center" line-height="22pt"
font-family="sans-serif" font-size="18pt">
Description of Service
</fo:block>
</fo:block-container>
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ ΠΏΡΡΡΠΎΠΉ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΡΡΠ°Π·Ρ ΠΏΠΎΠ΄ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°:
</fo:block-container>
<fo:block-container border-color="black" border-style="solid"
border-width="1pt" height="1.0cm" width="9cm" top="3cm"
left="0cm" padding="2pt" position="absolute">
<fo:block text-align="center" line-height="22pt"
font-family="sans-serif" font-size="18pt">
Description of Service
</fo:block>
</fo:block-container>
<fo:block-container border-color="black" border-style="solid"
border-width="1pt" height="4cm" width="9cm" top="4.0cm"