embedded SVG in FO

  • Thread starter jehanzeb.hameed
  • Start date
J

jehanzeb.hameed

Hello

I am trying to draw a horizontal line in xsl-fo using svg. However, the
line appears a few units below the place where I want it to be. For
example in the following code, the line is drawn around 43mm from the
top, instead of at 40mm.

<fo:block-container position="absolute" left="10mm" top="40mm"
width="20.001mm"
height="0.169mm">
<fo:block>
<fo:instream-foreign-object content-width="20.001mm"
content-height="0.169mm">
<svg width="20.001mm" height="0.169mm">
<line x1="20.001mm" y1="0.085mm" x2="0.000mm" y2="0.085mm"
stroke-width="0.169mm" fill="none" stroke="rgb(0,0,0)"/>
</svg>
</fo:instream-foreign-object>
</fo:block>
</fo:block-container>

Zeb
 
A

Altsoft Xml2PDF

Your problem is in the line stacking. XSL-FO formatter stack all
inline elements (fo:instream-foreign-object is inline-level element)
into lines. Minimal line height is controled by several attributes
such as line-height, line-stacking-strategy and etc. And, typically,
for 10pt font minimal line height is 12pt or so. Thus, your SVG is
placed to the bottom of the line and it is lower than expected. To
avoid this you should specify font-size="0pt" and line-height="0pt".

I suggest using freeware Altsoft XSL-FO Debugger
(http://alt-soft.com/products_xsl-fo_debugger.jsp) to analyze your
output and find what causes unexpected spaces. It can paint line and
formatting objects bounding boxes. So you can see the structure of
your file.


Best regards,
Altsoft Xml2PDF Team
http://alt-soft.com/products_xml2pdf.jsp
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,770
Messages
2,569,583
Members
45,074
Latest member
StanleyFra

Latest Threads

Top