ZVON > References > Zvon Example Repository
Example repository: index | categories | search

All > XSL FO > General > instream


Title: instream
Origin: Apache FOP 0.18.1 examples

PDF output | FO file
ElementsAttributes
fo:block
fo:flowflow-name |
fo:instream-foreign-object
fo:layout-master-set
fo:page-sequencemaster-name |
fo:region-bodymargin-bottom | margin-left | margin-right | margin-top |
fo:root
fo:simple-page-mastermaster-name |
svg:gstyle |
svg:rectheight | width | x | y |
svg:svgheight | width |
svg:textx | y |

Warning! These examples are related to XSL FO Working Draft, you need to use attribute "page-sequence/@master-reference" instead of "page-sequence/@master-name".


Source

<fo:root xmlns:svg="http://www.w3.org/2000/svg" xmlns:fo="http://www.w3.org/1999/XSL/Format" >
     <fo:layout-master-set>
          <fo:simple-page-master master-name="one">
               <fo:region-body margin-top="25pt" margin-bottom="25pt" margin-left="50pt" margin-right="50pt"/>
          </fo:simple-page-master>
     </fo:layout-master-set>
     <fo:page-sequence master-name="one">
          <fo:flow flow-name="xsl-region-body">
               <fo:block>This is used to show how foreign objects are placed in a line area.</fo:block>
               <fo:block> Some block text to separate instream objects. </fo:block>
               <fo:block> Some text before
                    <fo:instream-foreign-object>
                         <svg:svg width="20" height="20">
                              <svg:g style="fill:red;stroke:#000000;">
                                   <svg:rect x="0" y="0" width="15" height="15"/>
                                   <svg:rect x="5" y="5" width="15" height="15"/>
                              </svg:g>
                         </svg:svg>
                    </fo:instream-foreign-object> and some after the svg element.
               </fo:block>
               <fo:block> A text line below the instream object. </fo:block>
               <fo:block>
                    <fo:instream-foreign-object>
                         <svg:svg width="250" height="50">
                              <svg:g style="fill:red;stroke:#000000;">
                                   <svg:rect x="0" y="0" width="15" height="15"/>
                                   <svg:rect x="5" y="5" width="15" height="15"/>
                              </svg:g>
                              <svg:text x="10" y="30">SVG placed in a block</svg:text>
                         </svg:svg>
                    </fo:instream-foreign-object>
               </fo:block>
               <fo:block> A text line below the block. </fo:block>
               <fo:block> A text line with an instream foreign object that is before the line break.
                    <fo:instream-foreign-object>
                         <svg:svg width="50" height="50">
                              <svg:g style="fill:red;stroke:#000000;">
                                   <svg:rect x="0" y="0" width="15" height="15"/>
                                   <svg:rect x="5" y="5" width="15" height="15"/>
                              </svg:g>
                              <svg:rect x="0" y="0" width="49" height="49"/>
                         </svg:svg>
                    </fo:instream-foreign-object> With some text on the next line. With a bit more text to go over the to the next line.
               </fo:block>
               <fo:block> A text line with an instream foreign object that is after the line break. With some text on the next line. With a bit
                    <fo:instream-foreign-object>
                         <svg:svg width="50" height="50">
                              <svg:g style="fill:red;stroke:#000000;">
                                   <svg:rect x="0" y="0" width="15" height="15"/>
                                   <svg:rect x="5" y="5" width="15" height="15"/>
                              </svg:g>
                              <svg:rect x="0" y="0" width="49" height="49"/>
                         </svg:svg>
                    </fo:instream-foreign-object> more text to go over the to the next line.
               </fo:block>
               <fo:block> A text line with an instream foreign object that is over the line break. With some text
                    <fo:instream-foreign-object>
                         <svg:svg width="50" height="50">
                              <svg:g style="fill:red;stroke:#000000;">
                                   <svg:rect x="0" y="0" width="15" height="15"/>
                                   <svg:rect x="5" y="5" width="15" height="15"/>
                              </svg:g>
                              <svg:rect x="0" y="0" width="49" height="49"/>
                         </svg:svg>
                    </fo:instream-foreign-object> on the next line. With a bit more text to go over the to the next line to see it handles it properly.
               </fo:block>
               <fo:block> The next block has an instream object wider than the area. </fo:block>
               <fo:block>
                    <fo:instream-foreign-object>
                         <svg:svg width="550" height="50">
                              <svg:g style="fill:red;stroke:#000000;">
                                   <svg:rect x="0" y="0" width="15" height="15"/>
                                   <svg:rect x="5" y="5" width="15" height="15"/>
                              </svg:g>
                              <svg:rect x="0" y="0" width="549" height="49"/>
                              <svg:text x="10" y="30">SVG placed in a really wide block</svg:text>
                         </svg:svg>
                    </fo:instream-foreign-object>
               </fo:block>
               <fo:block> This block has an instream object wider than the area after this text
                    <fo:instream-foreign-object>
                         <svg:svg width="550" height="50">
                              <svg:g style="fill:red;stroke:#000000;">
                                   <svg:rect x="0" y="0" width="15" height="15"/>
                                   <svg:rect x="5" y="5" width="15" height="15"/>
                              </svg:g>
                              <svg:rect x="0" y="0" width="549" height="49"/>
                              <svg:text x="10" y="30">SVG placed in a really wide block</svg:text>
                         </svg:svg>
                    </fo:instream-foreign-object>
               </fo:block>
          </fo:flow>
     </fo:page-sequence>
</fo:root>



Sponsored links: Domain Names, VoIP Internettelefonie, DSL, SDSL, ADSL, UNLIMITED Web Hosting by HostDepartment, conference call service, answering service