You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by Iain Downs <ia...@idcl.co.uk> on 2008/11/27 22:59:07 UTC

printing blocks

This may be a more general xsl fo question, in which case my apologies.  If
you can advise, I'd be grateful...

 

I'm trying to produce a grid of blocks with an even spacing.  After some
trial and error, I'm on the right track, except that there is too much space
between the lines. My code looks something like...

 

<fo:root xmlns:svg="http://www.w3.org/2000/svg"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:ms="urn:schemas-microsoft-com:xslt"
xmlns:dt="urn:schemas-microsoft-com:datatypes">

  <fo:layout-master-set>

    <fo:simple-page-master page-height="88mm" page-width="67mm" margin="3mm
3mm 3mm 3mm" master-name="PageMaster">

      <fo:region-body margin="3mm 3mm 3mm 3mm" />

    </fo:simple-page-master>

  </fo:layout-master-set>

  <fo:page-sequence master-reference="PageMaster">

    <fo:flow flow-name="xsl-region-body" font-size="2pt">

      <fo:table table-layout="fixed"  >

        <fo:table-column column-width="5mm" />

        <fo:table-column column-width="5mm" />

        <fo:table-body>

          <fo:table-row height="5mm" padding="0 0 0 0" border="0 0 0 0"
space-before="0" space-after="0">

            <fo:table-cell padding=".5mm .5mm .5mm .5mm"  >

              <fo:block space-before="0" space-after="0">

                <fo:instream-foreign-object>

                  <svg:svg height="4mm" width="4mm">

                    <svg:rect width="4mm" height="4mm" style="fill:blue;"/>

                  </svg:svg>

                </fo:instream-foreign-object>

              </fo:block>

            </fo:table-cell>

            <fo:table-cell padding=".5mm .5mm .5mm .5mm"  >

              <fo:block space-before="0" space-after="0">

                <fo:instream-foreign-object>

                  <svg:svg height="4mm" width="4mm">

                    <svg:rect width="4mm" height="4mm" style="fill:blue;"/>

                  </svg:svg>

                </fo:instream-foreign-object>

              </fo:block>

         </fo:table-row>

         <fo:table-row height="5mm" padding="0 0 0 0" >

            <fo:table-cell padding=".5mm .5mm .5mm .5mm"  >

              <fo:block space-before="0" space-after="0">

                <fo:instream-foreign-object>

                  <svg:svg height="4mm" width="4mm">

                    <svg:rect width="4mm" height="4mm" style="fill:blue;"/>

                  </svg:svg>

                </fo:instream-foreign-object>

              </fo:block>

            </fo:table-cell>

            <fo:table-cell padding=".5mm .5mm .5mm .5mm"  >

              <fo:block space-before="0" space-after="0">

                <fo:instream-foreign-object>

                  <svg:svg height="4mm" width="4mm">

                    <svg:rect width="4mm" height="4mm" style="fill:blue;"/>

                  </svg:svg>

                </fo:instream-foreign-object>

              </fo:block>

         </fo:table-row>

                </fo:table-body>

      ....

 

 

the output looks fine except that there is an extra 1 mm or so between the
rows and I can't see where it comes from.

 

Cheers

 

 

Iain