Apache™ FOP Development: SVG Issues¶
See also SVG User Documentation for more information.
Examples¶
These examples illustrate a number of issues relating to conversion to PDF:
svg file | png file | pdf result | |||
---|---|---|---|---|---|
images | images.svg | images.png | images.pdf | ||
svg linking | link.svg | link.png | link.pdf | ||
gradients and patterns | paints.svg | paints.png | paints.pdf | ||
various text and effects on text | text.svg | text.png | text.pdf | ||
transparent objects | transparency.svg | transparency.png | transparency.pdf |
As can be seen most of the specific issues are handled.
fo file | pdf result | |||
---|---|---|---|---|
embedding svg | embedding.fo | embedding.fo.pdf |
Developer Notes¶
For most output formats in FOP the SVG is simply drawn into an image with Batik. For PDF there are a set of classes to handle drawing the GVT (Graphic Vector Toolkit) into PDF markup.
Classes¶
These are the relevant classes, found in the package org.apache.fop.svg:
-
PDFGraphics2D
used for drawing onto a Graphics2D into an existing pdf document, used internally to draw the svg.
-
PDFDocumentGraphics2D
used to create a pdf document and inherits from PDFGraphics2D to do the rest of the drawing. Used by the transcoder to create a standalone pdf document from an svg. Can be used independantly the same as any Graphics2D.
-
PDFTranscoder
used by Batik to transcode an svg document into a standalone pdf, via PDFDocumentGraphics2D.
Ideas¶
Batik can convert ttf to svg font. This svg font could be converted into a pdf stroked font (type 3 font).