INKSCAPE(1)

NAME
Inkscape - an SVG (Scalable Vector Graphics) editing program.

SYNOPSIS
"inkscape [options] [filename ...]"

options:

    -?, --help
        --usage
    -V, --version

    -f, --file=FILENAME

    -e, --export-png=FILENAME
    -a, --export-area=x0:y0:x1:y1
    -C, --export-area-canvas
    -D, --export-area-drawing
        --export-area-snap
    -i, --export-id=ID
    -j, --export-id-only
    -t, --export-use-hints
    -b, --export-background=COLOR
    -y, --export-background-opacity=VALUE
    -d, --export-dpi=DPI
    -w, --export-width=WIDTH
    -h, --export-height=HEIGHT

    -P, --export-ps=FILENAME
    -E, --export-eps=FILENAME
    -A, --export-pdf=FILENAME

    -T, --export-text-to-path
    -B, --export-bbox-page
    -F, --export-embed-fonts

    -l, --export-plain-svg=FILENAME

    -I, --query-id=ID
    -X, --query-x
    -Y, --query-y
    -W, --query-width
    -H, --query-height
    -S, --query-all

    -x, --extension-directory

        --verb-list
        --verb=VERB-ID
        --select=OBJECT-ID

    -p, --print=PRINTER

    -g, --with-gui
    -z, --without-gui

        --vacuum-defs

        --g-fatal-warnings

DESCRIPTION
Inkscape is a GUI editor for Scalable Vector Graphics (SVG) format drawing files, with capabilities similar to Adobe Illustrator, CorelDraw, Visio, etc. Inkscape features include versatile shapes, bezier paths, freehand drawing, multi-line text, text on path, alpha blending, arbitrary affine transforms, gradient and pattern fills, node editing, SVG-to-PNG export, grouping, layers, live clones, and more. The interface is designed to be comfortable and efficient for skilled users, while remaining conformant to GNOME standards so that users familiar with other GNOME applications can learn its interface rapidly.

SVG is a W3C standard XML format for 2D vector drawing. It allows defining objects in the drawing using points, paths, and primitive shapes. Colors, fonts, stroke width, and so forth are specified as `style' attributes to these objects. The intent is that since SVG is a standard, and since its files are text/xml, it will be possible to use SVG files in a sizeable number of programs and for a wide range of uses.

Inkscape uses SVG as its native document format, and has the goal of becoming the most fully compliant drawing program for SVG files available in the Open Source community.

OPTIONS

-?, --help
    Show help message

-V, --version
    Show Inkscape version and build date.

-a x0:y0:x1:y1, --export-area=x0:y0:x1:y1
    In PNG export, set the exported area in SVG user units (anonymous length units normally used in Inkscape SVG). The default is to export the entire document canvas. The point (0,0) is the lower-left corner.

-C, --export-area-canvas
    In PNG export, exported area is the entire canvas (page). Usually this is the default, so you don't need to specify this unless you are using --export-id to export a specific object.

-D, --export-area-drawing
    In PNG export, exported area is the entire drawing (not canvas), i.e. the bounding box of all objects of the document. With this option, the exported image will display just the visible objects of the document without margins or cropping. Can be used in combination wtih --export-use-hints.

--export-area-snap
    Snap the export area outwards to the nearest integer SVG user unit (px) values. If you are using the default export resolution of 90dpi and your graphics are pixel-snapped to minimize antialiasing, this switch allows you to preserve this alignment even if you are exporting some object's bounding box (with --export-id or --export-area-drawing) which is itself not pixel-aligned.

-b COLOR, --export-background=COLOR
    Background color of exported PNG. This may be any SVG supported color string, for example "#ff007f" or "rgb(255, 0, 128)". If not set, then the page color set in Inkscape in the Document Options dialog will be used (stored in the pagecolor= attribute of sodipodi:namedview).

-d DPI, --export-dpi=DPI
    The resolution used for bitmap export. The default is 90, which corresponds to 1 SVG user unit (px, also called "user unit") exporting to 1 bitmap pixel. This value overrides the DPI hint if used with --export-use-hints.

-e FILENAME, --export-png=FILENAME
    Specify the filename for PNG export. If it already exists, the file will be overwritten without asking.

-f FILENAME, --file=FILENAME
    Open specified document(s). Option string may be omitted, i.e. you can list the filenames without -f.

-g, --with-gui
    Try to use the GUI (on Unix, use the X server even if $DISPLAY is not set).

-h HEIGHT, --export-height=HEIGHT
    The height of generated bitmap in pixels. This value overrides the --export-dpi setting (or the DPI hint if used with --export-use-hints).

-i ID, --export-id=ID
    The id attribute value of the object that you want to export from the document. By default the exported area is the bounding box of the object; you can override this using --export-area, --export-area-canvas, or --export-area-drawing.

-j, --export-id-only
    Only export the object whose id is given in --export-id. All other objects are hidden and won't show in export even if they overlay the exported object. Without --export-id, this option is ignored.

-l, --export-plain-svg=FILENAME
    Export document(s) to plain SVG format, without sodipodi: or inkscape: namespaces and without RDF metadata.

-x, --extension-directory
    Lists the current extension directory that Inkscape is configured to use and then exits. This is used for external extension to use the same configuration as the original Inkscape installation.

--verb-list
    Lists all the verbs that are available in Inkscape by ID. This ID can be used in defining keymaps or menus. It can also be used with the --verb command line option.

--verb=VERB-ID, --select=OBJECT-ID
    These two options work together to provide some basic scripting for Inkscape from the command line. They both can occur as many times as needed on the command line and are executed in order on every document that is specified.

    The --verb command will execute a specific verb as if it was called from a menu or button. Dialogs will appear if that is part of the verb. To get a list of the verb IDs available, use the --verb-list command line option.

    The --select command will cause objects that have the ID specified to be selected. This allows various verbs to act upon them. To remove all the selections use --verb=EditDeselect. The object IDs available are dependent on the document specified to load.

-p PRINTER, --print=PRINTER
    Print document(s) to the specified printer using `lpr -P PRINTER'. Alternatively, use `| COMMAND' to specify a different command to pipe to, or use `> FILENAME' to write the PostScript output to a file instead of printing. Remember to do appropriate quoting for your shell, e.g.

    inkscape --print='| ps2pdf - mydoc.pdf' mydoc.svg

-t, --export-use-hints
    Use export filename and DPI hints stored in the exported object (only with --export-id). These hints are set automatically when you export selection from within Inkscape. So, for example, if you export a shape with id="path231" as /home/me/shape.png at 300 dpi from document.svg using Inkscape GUI, and save the document, then later you will be able to reexport that shape to the same file with the same resolution simply with

    inkscape -i path231 -t document.svg

    If you use --export-dpi, --export-width, or --export-height with this option, then the DPI hint will be ignored and the value from the command line will be used. If you use --export-png with this option, then the filename hint will be ignored and the filename from the command line will be used.

-w WIDTH, --export-width=WIDTH
    The width of generated bitmap in pixels. This value overrides the --export-dpi setting (or the DPI hint if used with --export-use-hints).

-y VALUE, --export-background-opacity=VALUE
    Opacity of the background of exported PNG. This may be a value either between 0.0 and 1.0 (0.0 meaning full transparency, 1.0 full opacity) or greater than 1 up to 255 (255 meaning full opacity). If not set and the -b option is not used, then the page opacity set in Inkscape in the Document Options dialog will be used (stored in the inkscape:pageopacity= attribute of sodipodi:namedview). If not set but the -b option is used, then the value of 255 (full opacity) will be used.

-P FILENAME, --export-ps=FILENAME
    Export document(s) to PostScript format. Note that PostScript does not support transparency, so any transparency in the original SVG will be lost. This option can be used together with --export-bbox-page and --export-text-to-path.

-E FILENAME, --export-eps=FILENAME
    Export document(s) to Encapsulated PostScript format. Note that PostScript does not support transparency, so any transparency in the original SVG will be lost. This option can be used together with --export-bbox-page and --export-text-to-path.

-A FILENAME, --export-pdf=FILENAME
    Export document(s) to PDF 1.4 format. This format preserves the transparency in the original SVG (though not all PDF viewers can display it yet). This option can be used together with --export-text-to-path (currently this is required, because exporting text as text is not yet supported).

-T, --export-text-to-path
    Convert text objects to paths on export, where applicable (currently works for PS, EPS, and PDF export).

-B, --export-bbox-page
    Export files with the bounding box set to the page size, where applicable (currently works for PS and EPS export).

-F, --export-embed-fonts
    Embed fonts used in the document into exported PS/EPS file. Note: only Type 1 fonts can be embedded, not TrueType.

-I, --query-id
    Set the ID of the object whose dimensions are queried. If not set, query options will return the dimensions of the drawing (i.e. all document objects), not the page or viewbox

-X, --query-x
    Query the X coordinate of of the drawing or, if specified, of the object with --query-id. The returned value is in px (SVG user units).

-Y, --query-y
    Query the Y coordinate of of the drawing or, if specified, of the object with --query-id. The returned value is in px (SVG user units).

-W, --query-width
    Query the width of of the drawing or, if specified, of the object with --query-id. The returned value is in px (SVG user units).

-H, --query-height
    Query the height of of the drawing or, if specified, of the object with --query-id. The returned value is in px (SVG user units).

-S, --query-all
    Prints a comma delimited listing of all objects in the SVG document with IDs defined, along with their x, y, width, and height values.

--vacuum-defs
    Remove all unused items from the <lt>defs<gt> section of the SVG file. If this option is invoked in conjunction with --export-plain-svg, only the exported file will be affected. If it is used alone, the specified file will be modified in place.

-z, --without-gui
    Do not open the GUI (on Unix, do not use X server); only process the files from console. This is assumed for -p, -e, -l, and --vacuum-defs options.

--g-fatal-warnings
    Part of the standard GTK option that are recognized. This forces any GTK warnings to cause Inkscape to abort. This option is listed because it gets used for debugging.

--usage
    Display a brief usage message.

CONFIGURATION
The preferences.xml configuration file located in ~/.inkscape/ is used to customize the application settings for the user.

interface
    The interface element(s) of the config file is used to set parameters related to the GUI interface, such as the open/closed status of various GUI elements, etc.

group id="documents"
    The documents group is used for containing the recent files list. Each document is listed with its uri (path) and name indicated.

group id="template"
    The template group is used for storing parameters related to blank documents.

group id="tools"
    The tools group is used for storing the user style preferences for different event contexts (i.e., shapes, freehand or calligraphic stroke properties, etc.).

group id="palette"
    The palette group allows setting of dash styles. This allows you to define the stroke lengths for different kinds of dashes.

group id="dialogs"
    The dialogs group allows persisting the position and width of each of the dialogs in the application, so that they'll start up in the last place the user had them at the next time the app is run.

group id="printing"
    The printing group is for storing different printer settings. Each setting is identified with an id. Properties include bitmap (true/false), resolution, and destination.

group id="options"
    The options group allows persisting various user selected options including nudgedistance, rotationstep, cursortolerance, and dragtolerance.

DIAGNOSTICS
The program returns zero on success or non-zero on failure.

A variety of error messages and warnings may be printed to STDERR or STDOUT. If the program behaves erratically with a particular SVG file or crashes, it is useful to look at this output for clues.

EXAMPLES
While obviously Inkscape is primarily intended as a GUI application, it can be used for doing SVG processing on the commandline as well.

Open an SVG file in the GUI:

    inkscape filename.svg

Print an SVG file from the command line:

    inkscape filename.svg -p '| lpr'

Export an SVG file into PNG with the default resolution of 90dpi (one SVG user unit translates to one bitmap pixel):

    inkscape filename.svg --export-png=filename.png

Same, but force the PNG file to be 600x400 pixels:

    inkscape filename.svg --export-png=filename.png -w600 -h400

Same, but export the drawing (bounding box of all objects), not the page:

    inkscape filename.svg --export-png=filename.png --export-area-drawing

Export to PNG the object with id="text1555", using the output filename and the resolution that were used for that object last time when it was exported from the GUI:

    inkscape filename.svg --export-id=text1555 --export-use-hints

Same, but use the default 90dpi resolution, specify the filename, and snap the exported area outwards to the nearest whole SVG user unit values (to preserve pixel-alignment of objects and thus minimize antialiasing):

    inkscape filename.svg --export-id=text1555 --export-png=text.png --export-snap-area

Convert an Inkscape SVG document to plain SVG:

    inkscape filename1.svg --export-plain-svg=filename2.svg

Convert an SVG document to EPS, converting all texts to paths:

    inkscape filename.svg --export-eps=filename.eps --export-text-to-path

Query the width of the object with id="text1555":

    inkscape filename.svg --query-width --query-id text1555

Duplicate the object with id="path1555", rotate the duplicate 90 degrees, save SVG, and quit:

    inkscape filename.svg --select=path1555 --verb=EditDuplicate --verb=ObjectRotate90 --verb=FileSave --verb=FileClose

ENVIRONMENT
DISPLAY to get the default host and display number.

TMPDIR to set the default path of the directory to use for temporary files. The directory must exist.

THEMES
To load different icons sets instead of the default $PREFIX/share/inkscape/icons/icons.svg file, the directory $HOME/.inkscape/icons/ is used. Icons are loaded by name (e.g. fill_none.svg), or if not found, then from icons.svg. If the icon is not loaded from either of those locations, it falls back to the default system location.

The needed icons are loaded from SVG files by searching for the SVG id with the matching icon name. (For example, to load the "fill_none" icon from a file, the bounding box seen for SVG id "fill_none" is rendered as the icon, whether it comes from fill_none.svg or icons.svg.)

FILES
$HOME/.inkscape/preferences.xml - The user's preference settings.

$HOME/.inkscape/extensions/ - Directory with user's extension effects.

$HOME/.inkscape/icons/ - Directory with user's icons.

$HOME/.inkscape/keys/ - Directory with user's keyboard maps.

$HOME/.inkscape/templates/ - Directory with user's new file templates.

OTHER INFO
The canonical place to find Inkscape info is at http://www.inkscape.org/. The website has news, documentation, tutorials, examples, mailing list archives, the latest released version of the program, bugs and feature requests databases, forums, and more.

SEE ALSO
potrace, cairo, rsvg(1), batik, ghostscript, pstoedit.

SVG compliance test suite: http://www.w3.org/Graphics/SVG/Test/

SVG validator: http://jiggles.w3.org/svgvalidator/

Scalable Vector Graphics (SVG) 1.1 Specification W3C Recommendation 14 January 2003 <http://www.w3.org/TR/SVG11/>

Scalable Vector Graphics (SVG) 1.2 Specification W3C Working Draft 13 November 2003 <http://www.w3.org/TR/SVG12/>

SVG 1.1/1.2/2.0 Requirements W3C Working Draft 22 April 2002 <http://www.w3.org/TR/SVG2Reqs/>

Document Object Model (DOM): Level 2 Core Arnaud Le Hors et al editors, W3C <http://www.w3.org/TR/DOM-Level-2-Core/>

GUI NOTES
To learn Inkscape's GUI operation, read the tutorials in Help > Tutorials.

Apart from SVG, Inkscape can import (File > Import) most bitmap formats (PNG, BMP, JPG, XPM, GIF, etc.), plain text (requires Perl), PDF, and AI format (AI version 9.0 or newer).

Inkscape exports 32-bit PNG images (File > Export) as well as AI, PS, EPS, PDF, DXF, and several other formats via File > Save as.

Inkscape can use the pressure and tilt of a graphic tablet pen for width, angle, and force of action of several tools, including the Calligraphic pen.

Inkscape includes a GUI front-end to the Potrace bitmap tracing engine (http://potrace.sf.net) which is embedded into Inkscape.

Inkscape can use external scripts (stdin-to-stdout filters) that are represented by commands in the Effects menu. A script can have a GUI dialog for setting various parameters and can get the IDs of the selected objects on which to act via the command line. Inkscape comes with an assortment of effects written in Python.

KEYBINDINGS
To get a complete list of keyboard and mouse shortcuts, view doc/keys.html, or use the Keys and Mouse command in Help menu.

BUGS
Many bugs are known; please refer to the website (inkscape.org) for reviewing the reported ones and to report newly found issues. See also the Known Issues section in the Release Notes for your version (file `NEWS').

AUTHORS
This codebase owes its existance to a large number of contributors throughout its various incarnations. The following list is certainly incomplete, but serves to recognize the many shoulders on which this application sits:

Maximilian Albert, Josh Andler, Gail Carmichael, Jean-François Barraud, Bill Baxter, John Bintz, Arpad Biro, Nicholas Bishop, Boldewyn, Daniel Borgmann, Gustav Broberg, Christopher Brown, Hans Breuer, Marcus Brubaker, Luca Bruno, Nicu Buculei, Bulia Byak, Ian Caldwell, Ed Catmur, Chema Celorio, Johan Ceuppens, Zbigniew Chyla, Alexander Clausen, John Cliff, Kees Cook, Ben Cromwell, Robert Crosbie, Jon Cruz, Milosz Derezynski, Daniel Díaz, Bruno Dilly, Larry Doolittle, Tim Dwyer, Maxim V. Dziumanenko, Johan Engelen, Miklos Erdelyi, Frank Felfe, Andrew Fitzsimon, Edward Flick, Marcin Floryan, Fred, Ben Fowler, Cedric Gemy, Toine de Greef, Olivier Gondouin, Ted Gould, Bryce Harrington, Dale Harvey, Carl Hetherington, Jos Hirth, Joel Holdsworth, Alan Horkan, Karl Ove Hufthammer, Richard Hughes, Nathan Hurst, Thomas Ingham, Jean-Olivier Irisson, Bob Jamison, Lauris Kaplinski, Lynn Kerby, Niko Kiirala, James Kilfiger, Petr Kovar, Raph Levien, Diederik van Lierop, Nicklas Lindgren, Vitaly Lipatov, Colin Marquardt, Dmitry G. Mastrukov, Matiphas, Michael Meeks, Federico Mena, MenTaLguY, Aubanel Monnier, Tim Mooney, Derek P. Moore, Peter Moulder, Jörg Müller, Yukihiro Nakai, Christian Neumair, Andreas Nilsson, Mitsuru Oka, Marten Owens, Jon Phillips, Zdenko Podobny, Alexandre Prokoudine, Jean-René Reinhard, Alexey Remizov, Frederic Rodrigo, Hugo Rodrigues, Juarez Rudsatz, Xavier Conde Rueda, Felipe Corrêa da Silva Sanches, Christian Schaller, Marco Scholten, Tom von Schwerdtner, Shivaken, Michael Sloan, Danilo Šegan, Boštjan Špetic, Aaron Spike, Kaushik Sridharan, Ralf Stephan, Dariusz Stojek, Pat Suwalski, Adib Taraben, David Turner, Andre Twupack, Aleksandar Uroševi´c, Lucas Vieites, Michael Wybrow, Daniel Yacob, David Yip, Masatake Yamato, Jason Kivlighn

This man page was put together by Bryce Harrington <brycehar@bryceharrington.com>.

HISTORY
The codebase that would become Inkscape began life in 1999 as the program Gill, the GNOME Illustrator application, created by Raph Levien. The stated objective for Gill was to eventually support all of SVG. Raph implemented the PostScript bezier imaging model, including stroking and filling, line cap style, line join style, text, etc. Raph's Gill page is at http://www.levien.com/svg/. Work on Gill appears to have slowed or ceased in 2000.

The next incarnation of the codebase was to become the highly popular program Sodipodi, led by Lauris Kaplinski. The codebase was turned into a powerful illustration program over the course of several year's work, adding several new features, multi-lingual support, porting to Windows and other operating systems, and eliminating dependencies.

Inkscape was formed in 2003 by four active Sodipodi developers, Bryce Harrington, MenTaLguY, Nathan Hurst, and Ted Gould, wanting to take a different direction with the codebase in terms of focus on SVG compliance, interface look-and-feel, and a desire to open development opportunities to more participants. The project progressed rapidly, gaining a number of very active contributors and features.

Much work in the early days of the project focused on code stablization and internationalization. The original renderer inherited from Sodipodi was laced with a number of mathematical corner cases which led to unexpected crashes when the program was pushed beyond routine uses; this renderer was replaced with Livarot which, while not perfect either, was significantly less error prone. The project also adopted a practice of committing code frequently, and encouraging users to run developmental snapshots of the program; this helped identify new bugs swiftly, and ensure it was easy for users to verify the fixes. As a result, Inkscape releases have generally earned a reputation for being robust and reliable.

Similarly, efforts were taken to internationalize and localize the interface, which has helped the program gain contributors worldwide.

Inkscape has had a beneficial impact on the visual attractiveness of Open Source in general, by providing a tool for creating and sharing icons, splash screens, website art, and so on. In a way, despite being "just an drawing program", Inkscape has played an important role in making Open Source more visually stimulating to larger audiences.

COPYRIGHT AND LICENSE
Copyright (C) 1999–2008 by Authors.

Inkscape is free software; you can redistribute it and/or modify it under the terms of the GPL.