Skip to content

becloudy/prawn-svg

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

An SVG renderer for the Prawn PDF library.

This will take an SVG file as input and render it into your PDF.  Find out more about the Prawn PDF library at:

  http://wiki.github.com/sandal/prawn/

Using prawn-svg:

  Prawn::Document.generate("svg.pdf") do
    svg svg_data, :at => [x, y], :width => w
  end
  
:at must be specified.  :width, :height, or neither may be specified; if neither is present,
the resolution specified in the SVG will be used.

prawn-svg is in its infancy and does not support the full SVG specifications.  It currently supports:

- line tag
- polyline tag
- polygon tag
- circle tag
- ellipse tag (although this seems to be buggy)

- rect tag
  supports rounded rects, but only one radius is applied to all corners

- path tag
  supports moveto, closepath, lineto, horiz lineto, vert lineto, curveto, smooth curveto, quad curveto, smooth quad curveto
  does not support elliptical arc

- text and tspan tags
  attributes: size, text-anchor, font-family, font-weight, dx, dy
  
- svg, g and symbol tags
  
- use tag
  
- style tag, if css_parser gem is installed on the system [1]
  
- attributes/styles: fill, stroke, stroke-width, opacity, fill-opacity, stroke-opacity, transform

- transform methods: translate, rotate, scale, matrix

- colors: html standard names, #xxx, #xxxxxx, rgb(1, 2, 3), rgb(1%, 2%, 3%)

- measurements specified in pt, cm, dm, ft, in, m, mm, yd, %

- fonts: generic CSS fonts, built in PDF fonts, and any TTF fonts in your fonts path

By default, prawn-svg has a fonts path of ["/Library/Fonts", "/usr/share/fonts/truetype/**"] to catch
Mac OS X and Debian Linux users.  You can add to the font path:

  Prawn::Svg.font_path << "/my/font/directory"

prawn-svg does NOT support external references, gradients/patterns or markers.

[1] If the css_parser gem is installed, it will handle CSS style definitions, but only simple tag, class or id definitions.

About

SVG renderer for Prawn Ruby PDF library

Resources

License

Stars

Watchers

Forks

Packages

No packages published