INKSCAPE(1) | Inkscape Commands Manual | INKSCAPE(1) |
Inkscape - an SVG (Scalable Vector Graphics) editing program.
"inkscape [options] [filename_1 filename_2 ...]"
options:
-?, --help -V, --version --system-data-directory --user-data-directory -p, --pipe --pdf-page=PAGE --pdf-poppler --convert-dpi-method=METHOD --no-convert-text-baseline-spacing -o, --export-filename=FILENAME --export-overwrite --export-type=TYPE[,TYPE]* -C, --export-area-page -D, --export-area-drawing -a, --export-area=x0:y0:x1:y1 --export-area-snap -d, --export-dpi=DPI -w, --export-width=WIDTH -h, --export-height=HEIGHT --export-margin=MARGIN -i, --export-id=OBJECT-ID[;OBJECT-ID]* -j, --export-id-only -l, --export-plain-svg --export-ps-level=LEVEL --export-pdf-version=VERSION -T, --export-text-to-path --export-latex --export-ignore-filters -t, --export-use-hints -b, --export-background=COLOR -y, --export-background-opacity=VALUE -I, --query-id=OBJECT-ID[,OBJECT-ID]* -S, --query-all -X, --query-x -Y, --query-y -W, --query-width -H, --query-height --vacuum-defs --select=OBJECT-ID[,OBJECT-ID]* --actions=ACTION(:ARG)[;ACTION(:ARG)]* --action-list --verb=VERB[;VERB]* --verb-list -g, --with-gui --batch-process --shell
Inkscape is a GUI editor for Scalable Vector Graphics (SVG) format drawing files, with capabilities similar to Adobe Illustrator, CorelDraw, Xara Xtreme, 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, many export and import formats including PNG and PDF, grouping, layers, live clones, and a lot 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.
The location in which Inkscape expects the system data directory can be overridden with the INKSCAPE_DATADIR environment variable.
The default location of the profile directory can be overridden with the INKSCAPE_PROFILE_DIR environment variable.
Usage of the special filename "-" makes Inkscape write the image data to standard output (stdout).
Note that PostScript does not support transparency, so any transparent objects in the original SVG will be automatically rasterized. Used fonts are subset and embedded. The default export area is page; you can set it to drawing by --export-area-drawing.
Note that PDF format preserves the transparency in the original SVG.
If you specify many values with a semicolon separated list of objects, each one will be exported separately. In this case the exported files will be named this way: [input_filename]_[ID].[export_type]
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-filename with this option, then the filename hint will be ignored and the filename from the command line will be used.
If you specify many values with a comma separated list of objects, any geometry query (e.g. --query-x) will return a comma separated list of values corresponding to the list of objects in --query-id.
If only actions are used --batch-process must be used.
Export can be forced at any point with the export-do action. This allows one to do multiple exports on a single file.
Note that the --verb command requires a GUI.
Together with --select provides some basic scripting for Inkscape from the command line. They both can receive many arguments as needed on the command line and are executed in order on every document.
In shell mode Inkscape expects a sequence of actions (or verbs) as input. They will be processed line by line, that means typically when pressing enter. It is possible (but not necessary) to put all actions on a single line.
The following example opens a file and exports it into two different formats, then opens another file and exports a single object:
file-open:file1.svg; export-type:pdf; export-do; export-type:png; export-do file-open:file2.svg; export-id:rect2; export-id-only; export-filename:rect_only.svg; export-do
The main configuration file is located in ~/.config/inkscape/preferences.xml; it stores a variety of customization settings that you can change in Inkscape (mostly in the Inkscape Preferences dialog). Also in the subdirectories there, you can place your own:
$HOME/.config/inkscape/extensions/ - extension effects.
$HOME/.config/inkscape/icons/ - icons.
$HOME/.config/inkscape/keys/ - keyboard maps.
$HOME/.config/inkscape/templates/ - new file templates.
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.
While obviously Inkscape is primarily intended as a GUI application, it can be used for doing SVG processing on the command line as well.
Open an SVG file in the GUI:
inkscape filename.svg
Export an SVG file into PNG with the default resolution of 96 dpi (one SVG user unit translates to one bitmap pixel):
inkscape --export-filename=filename.png filename.svg
Same, but force the PNG file to be 600x400 pixels:
inkscape --export-filename=filename.png -w 600 -h 400 filename.svg
Same, but export the drawing (bounding box of all objects), not the page:
inkscape --export-filename=filename.png --export-area-drawing filename.svg
Export two different files into four distinct file formats each:
inkscape --export-type=png,ps,eps,pdf filename1.svg filename2.svg
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 --export-id=text1555 --export-use-hints filename.svg
Same, but use the default 96 dpi 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 aliasing):
inkscape --export-id=text1555 --export-filename=text.png --export-area-snap filename.svg
Convert an Inkscape SVG document to plain SVG:
inkscape --export-plain-svg --export-filename=filename2.svg filename1.svg
Convert an SVG document to EPS, converting all texts to paths:
inkscape --export-filename=filename.eps --export-text-to-path filename.svg
Query the width of the object with id="text1555":
inkscape --query-width --query-id=text1555 filename.svg
Duplicate the objects with id="path1555" and id="rect835", rotate the duplicates 90 degrees, save SVG, and quit:
inkscape --select=path1555,rect835 --verb="EditDuplicate;ObjectRotate90;FileSave;FileQuit" filename.svg
Select all objects with ellipse tag, rotate them 30 degrees, save the file, and quit.
inkscape --actions="select-by-element:ellipse;transform-rotate:30;FileSave;FileClose" --batch-process filename.svg
Export the object with the ID MyTriangle with a semi transparent purple background to the file triangle_purple.png and with a red background to the file triangle_red.png.
inkscape --actions="export-id:MyTriangle; export-id-only; export-background:purple; export-background-opacity:0.5;export-filename:triangle_purple.png; export-do; export-background:red; export-background-opacity:1; export-filename:triangle_red.png" filename.svg
Read an SVG from standard input (stdin) and export it to PDF format:
cat filename.svg | inkscape --pipe --export-filename=filename.pdf
Export an SVG to PNG format and write it to standard output (stdout), then convert it to JPG format with ImageMagick's convert program:
inkscape --export-type=png --export-filename=- filename.svg | convert - filename.jpg
Same as above, but also reading from a pipe (--export-filename can be omitted in this case)
cat filename.svg | inkscape --pipe --export-type=png | convert - filename.jpg
For more details see also <http://wiki.inkscape.org/wiki/index.php/Environment_variables>
To load different icons sets instead of the default $PREFIX/share/inkscape/icons/icons.svg file, the directory $HOME/.config/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.)
The canonical place to find Inkscape info is at <https://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.
potrace, cairo, rsvg, batik, ghostscript, pstoedit.
SVG compliance test suite: <https://www.w3.org/Graphics/SVG/WG/wiki/Test_Suite_Overview>
SVG validator: <https://validator.w3.org/>
Scalable Vector Graphics (SVG) 1.1 Specification W3C Recommendation 16 August 2011 <https://www.w3.org/TR/SVG11/>
Scalable Vector Graphics (SVG) 1.2 Specification W3C Working Draft 13 April 2005 <https://www.w3.org/TR/SVG12/>
Scalable Vector Graphics (SVG) 2 Specification W3C Candidate Recommendation 15 September 2016 <https://www.w3.org/TR/SVG2/>
Document Object Model (DOM): Level 2 Core W3C Recommendation 13 November 2000 <https://www.w3.org/TR/DOM-Level-2-Core/>
To learn Inkscape's GUI operation, read the manual in Help > Inkscape manual, and 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), PS and EPS (requires Ghostscript), PDF and AI format (AI version 9.0 or newer).
Inkscape exports 32-bit PNG images (File > Export PNG Image) 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 Extensions 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.
To get a complete list of keyboard and mouse shortcuts, view doc/keys.html, or use the Keys and Mouse command in Help menu.
Many bugs are known; please refer to the website (<https://www.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').
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 stabilization 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.
This codebase owes its existence 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, Joshua A. Andler, Tavmjong Bah, Pierre Barbry-Blot, Jean-François Barraud, Campbell Barton, Bill Baxter, John Beard, John Bintz, Arpad Biro, Nicholas Bishop, Joshua L. Blocher, Hanno Böck, Tomasz Boczkowski, Adrian Boguszewski, Henrik Bohre, Boldewyn, Daniel Borgmann, Bastien Bouclet, Hans Breuer, Gustav Broberg, Christopher Brown, Marcus Brubaker, Luca Bruno, Brynn, Nicu Buculei, Bulia Byak, Pierre Caclin, Ian Caldwell, Gail Carmichael, Ed Catmur, Chema Celorio, Jabiertxo Arraiza Cenoz, Johan Ceuppens, Zbigniew Chyla, Alexander Clausen, John Cliff, Kees Cook, Ben Cromwell, Jon Cruz, Aurélie De-Cooman, Kris De Gussem, Milosz Derezynski, Daniel Díaz, Bruno Dilly, Larry Doolittle, Nicolas Dufour, Tim Dwyer, Maxim V. Dziumanenko, Johan Engelen, Miklos Erdelyi, Ulf Erikson, Noé Falzon, Frank Felfe, Andrew Fitzsimon, Edward Flick, Marcin Floryan, Fred, Ben Fowler, Cedric Gemy, Steren Giannini, Olivier Gondouin, Ted Gould, Toine de Greef, Michael Grosberg, Bryce Harrington, Dale Harvey, Aurélio Adnauer Heckert, René de Hesselle, Carl Hetherington, Jos Hirth, Hannes Hochreiner, Thomas Holder, Joel Holdsworth, Christoffer Holmstedt, Alan Horkan, Karl Ove Hufthammer, Richard Hughes, Nathan Hurst, inductiveload, Thomas Ingham, Jean-Olivier Irisson, Bob Jamison, Ted Janeczko, Marc Jeanmougin, jEsuSdA, Lauris Kaplinski, Lynn Kerby, Niko Kiirala, James Kilfiger, Nikita Kitaev, Jason Kivlighn, Adrian Knoth, Krzysztof Kosiński, Petr Kovar, Benoît Lavorata, Alex Leone, Julien Leray, Raph Levien, Diederik van Lierop, Nicklas Lindgren, Vitaly Lipatov, Ivan Louette, Fernando Lucchesi Bastos Jurema, Pierre-Antoine Marc, Aurel-Aimé Marmion, Colin Marquardt, Craig Marshall, Ivan Masár, Dmitry G. Mastrukov, David Mathog, Matiphas, Patrick McDermott, Michael Meeks, Federico Mena, MenTaLguY, Aubanel Monnier, Vincent Montagne, Tim Mooney, Derek P. Moore, Chris Morgan, Peter Moulder, Jörg Müller, Yukihiro Nakai, Victor Navez, Christian Neumair, Nick, Andreas Nilsson, Mitsuru Oka, Vinícius dos Santos Oliveira, Martin Owens, Alvin Penner, Matthew Petroff, 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, Markus Schwienbacher, Danilo Šegan, Abhishek Sharma, Tim Sheridan, Shivaken, Michael Sloan, John Smith, Sandra Snan, Boštjan Špetič, Aaron Spike, Kaushik Sridharan, Ralf Stephan, Dariusz Stojek, Patrick Storz, Martin Sucha, ~suv, Pat Suwalski, Adib Taraben, Parcly Taxel, Hugh Tebby, Jonas Termeau, David Turner, Andre Twupack, Aleksandar Urošević, Alex Valavanis, Joakim Verona, Lucas Vieites, Daniel Wagenaar, Liam P. White, Sebastian Wüst, Michael Wybrow, Gellule Xg, Daniel Yacob, David Yip, Masatake Yamato, Moritz Eberl, Sebastian Faubel
Copyright (C) 1999-2020 by Authors.
Inkscape is free software; you can redistribute it and/or modify it under the terms of the GPL version 3 or later.
2021-04-14 | 1.0.2 |