mcwizard
mcwizard

Reputation: 461

Can I specify scaling when using the cairosvg module inside of python

The command line version of cairosvg allows scaling. Here is the output of the help function:

cairosvg -h
usage: cairosvg [-h] [-v] [-f {pdf,png,ps,svg}] [-d DPI] [-W WIDTH]
            [-H HEIGHT] [-s SCALE] [-u] [-o OUTPUT]
            input

CairoSVG - A simple SVG converter based on Cairo.

positional arguments:
   input                 input filename or URL

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program\'s version number and exit
  -f {pdf,png,ps,svg}, --format {pdf,png,ps,svg}
                        output format
  -d DPI, --dpi DPI     ratio between 1 inch and 1 pixel
  -W WIDTH, --width WIDTH
                        width of the parent container in pixels
  -H HEIGHT, --height HEIGHT
                        height of the parent container in pixels
  -s SCALE, --scale SCALE
                        output scaling factor

see also cairosvg documentation

How can one specify a scaling factor when using cairosvg2png inside of a Python script?

Upvotes: 5

Views: 6733

Answers (3)

Andrei Sima
Andrei Sima

Reputation: 159

On this commit 2 new parameters where added.

[... other params]
output_width=None,
output_height=None

For me output_height and output_width did the job.

Upvotes: 4

Peter Gaultney
Peter Gaultney

Reputation: 3439

I had the same question - the documentation doesn't make this explicit, but as it turns out, it's as simple as passing the scale=2.0 keyword argument to the svg2png method.

import cairosvg

input_fn = '/home/me/input.svg'
output_fn = '/home/me/output.png'

cairosvg.svg2png(url=input_fn, write_to=output_fn, scale=2.0)

This definitely works for me on version 2.0.3.

Upvotes: 5

mcwizard
mcwizard

Reputation: 461

the documentation has been updated at: http://cairosvg.org/documentation/ with API documentation commit

Upvotes: 0

Related Questions