[Talk-de] SVG, Inkscape und DPI für Export nach PNG und PDF

Stefan Siegel osm at sdas.de
Do Mär 25 11:12:08 UTC 2010


Hallo,

Am Donnerstag, 25. März 2010 08:30:34 schrieb Gary G::
> ich habe eine SVG Datei mit einem bestimmten Maß BxH in Pixeln.
> Soweit ich das zunächst sehe, hat die SVG kein (eigenen) DPI-Wert.
> 
> Das wäre also die erste Frage. Wie setze ich für obige Datei den DPI
> Wert? Oder alternativ: Kann ich zusätzlich zu den Pixeln auch noch
> die Maße in cm angeben? Woraus sich dann die DPIs ergeben würden...
> 
> Wichtig wird das nämlich für die nächsten Schritte, die Konvertierung
> nach PNG und PDF. Die mache ich auf der Kommandozeile mit inkscape
> -A und -e

AFAIK verwendet Inkscape immer 90dpi, bei anderer Software kann das aber 
anders sein. Man beachte den entsprechenden Abschnitt in der SVG-
Spezifikation [1].

Es empfiehlt sich, die Attribute “width” und “height” des SVG-Elements 
absolut (z.B. in mm) anzugeben und dann per “viewBox”-Attribut (ggf. mit 
“preserveAspectRatio”) festzulegen, welcher Bereich von “user units” auf 
die so festgelegte Größe abgebildet werden soll. Wenn dann alle weiteren 
Angaben in “user units” (d.h. ohne Angabe einer Einheit oder, per 
definitionem gleichwertig, in der Einheit “px”) erfolgen, dann sollte 
nichts mehr schiefgehen.

Alternativ könnte man auch auf die Angabe einer “viewBox” verzichten, 
dann aber alle Längen direkt mit der gewünschten Einheit (z.B. mm) 
versehen.

So oder so wird aber die Größe der erzeugten PDF-Datei durch die 
“width”- und “height”-Attribute am SVG-Element festgelegt, und die 
Pixel-Größe eines PNG-Exports wird über --export-dpi daraus abgeleitet.

Gruß,
Stefan

[1] http://www.w3.org/TR/SVG/coords.html#Units




Mehr Informationen über die Mailingliste Talk-de