Вставка графики: <fo:external-graphic>

Вставка графики: <fo:external-graphic>

Популярный элемент при форматировании XSL-FO — <fo:external-graphic>, при помощи которого можно вставить в документ рисунок.

С элементом <fo:external-graphic> можно применять следующие свойства:

• общие свойства доступа: 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

<?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 space-after="12pt" font-weight="bold"

    font-size="36pt" text-align="center">

    Using Graphics

   </fo:block>

   <fo:block text-align="center">

    <fo:external-graphic src="file:xslfo.jpg"/>

   </fo:block>

   <fo:block space-before="10pt" text-align="center" font-size="24pt">

    An image embedded in a document.

   </fo:block>

  </fo:flow>

 </fo:page-sequence>

</fo:root>

Документ PDF, созданный из graphics.fo, показан на рис. 12.3.

Рис. 12.3. Отображение рисунка при помощи форматирующих объектов 

Вставить рисунок в результирующий документ легко, если вставку поддерживает ваше программное обеспечение. Процессор fop теперь поддерживает рисунки (еще несколько версий назад он этого не делал), поэтому вы можете вставлять рисунки при помощи элемента <fo:external-graphic> следующим образом:

<fo:block text-align="center">

 <fo:external-graphic src="file:xslfo.jpg"/>

</fo:block>