CINXE.COM
Apache(tm) Batik SVG Toolkit - a Java-based toolkit for applications or applets that want to use images in the Scalable Vector Graphics (SVG)
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta property="og:image" content="http://www.apache.org/images/asf_logo.gif" /> <link rel="stylesheet" type="text/css" media="screen" href="https://www.apache.org/css/code.css"> <link href="/css/profile.css" rel="stylesheet" type="text/css" /> <link href="/css/xmlgraphics.css" rel="stylesheet" type="text/css" /> <link href="/css/print.css" rel="stylesheet" type="text/css" media="print" /> <script src="https://code.jquery.com/jquery.min.js"></script> <script type="text/javascript" src="/js/jquery.stoc.js"></script> <script> $(document).ready(function(){ $('ul#navigation a').each(function() { if (this.href === window.location.href) { $(this). attr('id', 'forefront');} }); $('ul#navigation a#forefront').each(function() { }); }) $(function(){ $("#items").stoc({ search: "#content", stocTitle: "<h3>Page Contents</h3>" }); }); </script> <title>Apache(tm) Batik SVG Toolkit - a Java-based toolkit for applications or applets that want to use images in the Scalable Vector Graphics (SVG)</title> </head> <body> <div id="banner"> </div> <div id="navigation"> <style type="text/css"> /* The following code is added by mdx_elementid.py It was originally lifted from http://subversion.apache.org/style/site.css */ /* * Hide class="elementid-permalink", except when an enclosing heading * has the :hover property. */ .headerlink, .elementid-permalink { visibility: hidden; } h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style> <p><a href="/"><img alt="Apache XML Graphics Project Logo" src="/images/apache-xml-graphics.gif" title="Apache XML Graphics Project" /></a></p> <h1 id="apache-batik">Apache Batik<a class="headerlink" href="#apache-batik" title="Permanent link">¶</a></h1> <ul> <li><a href="/batik/">Overview</a></li> <li><a href="/batik/license.html">License</a></li> <li><a href="/batik/download.html">Download</a></li> <li><a href="/batik/install.html">Notes</a></li> <li><a href="/batik/status.html">Status</a></li> <li><a href="/batik/demo-static.html">Demo</a></li> <li><a href="/batik/faq.html">FAQs</a></li> <li><a href="https://cwiki.apache.org/confluence/display/XMLGRAPHICSBATIK">Batik Wiki</a></li> <li><a href="/batik/mailing-lists.html">Mailing lists</a></li> <li><a href="/batik/contributors.html">Contributors</a></li> <li><a href="https://issues.apache.org/jira/issues/?jql=project%20%3D%20BATIK%20AND%20resolution%20%3D%20Unresolved%20AND%20status%20in%20%28Open%2C%20%22In%20Progress%22%2C%20Reopened%29%20ORDER%20BY%20priority%20DESC">Bug database</a></li> <li><a href="/batik/uses.html">Projects using Batik</a></li> <li> <h2 id="batik-tools">Batik Tools<a class="headerlink" href="#batik-tools" title="Permanent link">¶</a></h2> <ul> <li><a href="/batik/tools/">Overview</a></li> <li><a href="/batik/tools/browser.html">Browser</a></li> <li><a href="/batik/tools/rasterizer.html">Rasterizer</a></li> <li><a href="/batik/tools/font-converter.html">Font converter</a></li> <li><a href="/batik/tools/pretty-printer.html">Pretty printer</a></li> </ul> </li> <li> <h2 id="using-batik">Using Batik<a class="headerlink" href="#using-batik" title="Permanent link">¶</a></h2> <ul> <li><a href="/batik/using/">Overview</a></li> <li><a href="/batik/using/architecture.html">Architecture</a></li> <li><a href="/batik/javadoc/">Javadoc APIs</a></li> <li><a href="/batik/using/dom-api.html">DOM API</a></li> <li><a href="/batik/using/parsers.html">Parsers</a></li> <li> <h3 id="scripting">Scripting<a class="headerlink" href="#scripting" title="Permanent link">¶</a></h3> </li> <li><a href="/batik/using/scripting/ecmascript.html">Scripting with ECMAScript</a></li> <li><a href="/batik/using/scripting/java.html">Scripting with Java</a></li> <li><a href="/batik/using/scripting/security.html">Scripting with Security</a></li> <li><a href="/batik/using/svg-generator.html">SVG generator</a></li> <li><a href="/batik/using/swing.html">Swing components</a></li> <li><a href="/batik/using/transcoder.html">Transcoder API</a></li> <li><a href="/batik/using/extending.html">Extending Batik</a></li> </ul> </li> <li> <h2 id="development">Development<a class="headerlink" href="#development" title="Permanent link">¶</a></h2> <ul> <li><a href="/batik/dev/">Overview</a></li> <li><a href="/batik/dev/branches.html">Branches</a></li> <li><a href="/batik/dev/svg12.html">SVG 1.2 support</a></li> <li><a href="/batik/dev/test.html">Test infrastructure</a></li> </ul> </li> </ul> <h1 id="apache-xml-graphics">Apache™ XML Graphics<a class="headerlink" href="#apache-xml-graphics" title="Permanent link">¶</a></h1> <ul> <li> <h3 id="project-overview">Project Overview<a class="headerlink" href="#project-overview" title="Permanent link">¶</a></h3> <ul> <li><a href="/team.html">Who We Are</a></li> <li><a href="/legal.html">Legal Stuff</a></li> <li><a href="/charter.html">Project Charter</a></li> <li><a href="/mail.html">Mailing Lists</a></li> <li><a href="/repo.html">Code Repositories</a></li> <li><a href="https://www.apache.org/foundation/sponsorship.html">ASF Sponsorship Program</a></li> <li><a href="https://www.apache.org/foundation/thanks.html">ASF Thanks</a></li> <li><a href="https://www.apache.org/licenses/">Licenses</a></li> <li><a href="/security.html">Apache XML Graphics Security</a></li> <li><a href="https://www.apache.org/security/">ASF Security</a></li> </ul> </li> </ul> <h1 id="sub-projects">Sub Projects<a class="headerlink" href="#sub-projects" title="Permanent link">¶</a></h1> <ul> <li><a href="/fop/">Apache FOP</a></li> <li><a href="/commons/">Apache XML Graphics Commons</a></li> </ul> <h2 id="search-apache-xml-graphics">Search Apache XML Graphics<a class="headerlink" href="#search-apache-xml-graphics" title="Permanent link">¶</a></h2> <form name="search" id="search" action="https://www.google.com/search" method="get"> <input value="xmlgraphics.apache.org" name="sitesearch" type="hidden"/> <input type="text" name="q" id="query" /> <input type="submit" id="submit" value="Search" /> </form> <h3 id="apachecon-n-america">ApacheCon N. America<a class="headerlink" href="#apachecon-n-america" title="Permanent link">¶</a></h3> <p><a title="ApacheCon North America" href="https://www.apachecon.com"><img class="apachecon_logo" alt="ApacheCon North America" src="https://www.apachecon.com/images/landingpage/apachecon-logo.png" width="200" /></a><br /><br /></p> <ul> <li><strong><a href="https://www.apachecon.com/">ApacheCon NA</a></strong></li> </ul> <p>Hope to see you there!</p> <h3 id="apachecon-europe">ApacheCon Europe<a class="headerlink" href="#apachecon-europe" title="Permanent link">¶</a></h3> <p><a title="ApacheCon Europe" href="https://www.apachecon.com"><img class="apachecon_logo" alt="ApacheCon Europe" src="https://www.apachecon.com/images/landingpage/apachecon-logo.png" width="200" /></a><br /><br /></p> <ul> <li><strong><a href="https://www.apachecon.com/">ApacheCon Europe</a></strong></li> </ul> <p>Hope to see you there!</p> <p><a title="Apache Software Foundation" href="https://www.apache.org"><img id="asf_logo_url" alt="Apache Software Foundation " src="/images/asf_logo_url.png" width="200" /></a><br /><br /></p> <p><a title="Support the Apache Software Foundation" href="https://donate.apache.org/">Support the Apache Software Foundation</a></p> <script> $(document).ready(function () { $('#navigation :header').click(function () { var text = $(this).siblings('ul'); if (text.is(':hidden')) { text.slideDown('200'); } else { text.slideUp('200'); } }); if ($('#navigation :header').siblings('ul')) { $('#navigation :header').append(' »'); } $('#navigation > ul > li ul').hide(); var str=location.href.toLowerCase(); $("#navigation li a").each(function() { if (str.indexOf(this.href.toLowerCase()) > -1) { $(this).parents().slideDown('200'); $("li.highlight").removeClass("highlight"); $(this).parent().addClass("highlight"); } }); }) </script> </div> <div id="bannertext" style="border-bottom: 2px dashed #666666; height: 100px;"> <a href="/batik/"><img src="/images/apache-batik-logo.png" alt="The Apache FOP Project" width="256" height="96" style="float:left; margin-right: 15px;" /></a> <h2>The Apache™ Batik Project</h2> </div> <div id="content" class="grid_16"> <div id="items"> </div> <div class="section-content"><style type="text/css"> /* The following code is added by mdx_elementid.py It was originally lifted from http://subversion.apache.org/style/site.css */ /* * Hide class="elementid-permalink", except when an enclosing heading * has the :hover property. */ .headerlink, .elementid-permalink { visibility: hidden; } h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style> <h1 id="apache-batik-svg-toolkit">Apache™ Batik SVG Toolkit</h1> <h2 id="overview">Overview</h2> <p>Batik is a Java-based toolkit for applications or applets that want to use images in the <a href="http://www.w3.org/TR/SVG11/">Scalable Vector Graphics (SVG)</a> format for various purposes, such as display, generation or manipulation.</p> <p>The project鈥檚 ambition is to give developers a set of <a href="using/architecture.html#coreComponents">core modules</a> that can be used together or individually to support specific SVG solutions. Examples of <a href="using/index.html">modules</a> are the <a href="using/parsers.html">SVG Parser</a>, the <a href="using/svg-generator.html">SVG Generator</a> and the <a href="using/dom-api.html">SVG DOM</a>. Another ambition for the Batik project is to make it highly <a href="using/extending.html">extensible</a> 鈥攆or example, Batik allows the developer to handle custom SVG elements. Even though the goal of the project is to provide a set of core modules, one of the deliverables is a full fledged <a href="tools/browser.html">SVG browser</a> implementation which validates the various modules and their inter-operability.</p> <h2 id="News">News</h2> <h3 id="9-oct-2024-version-118-released">9 Oct 2024: Version 1.18 Released</h3> <p>This is mainly a bug fix release</p> <h3 id="22-aug-2023-version-117-released">22 Aug 2023: Version 1.17 Released</h3> <p>This is mainly a bug fix release, including 2 security fixes</p> <h3 id="25-oct-2022-version-116-released">25 Oct 2022: Version 1.16 Released</h3> <p>This is mainly a bug fix release, including 2 security fixes</p> <h3 id="22-sept-2022-version-115-released">22 Sept 2022: Version 1.15 Released</h3> <p>This is mainly a bug fix release, including 3 security fixes</p> <h3 id="20-jan-2021-version-114-released">20 Jan 2021: Version 1.14 Released</h3> <p>This is mainly a bug fix release</p> <h3 id="13-may-2020-version-113-released">13 May 2020: Version 1.13 Released</h3> <p>This is mainly a bug fix release</p> <h2 id="uses">What Batik can be used for</h2> <p><img alt="Batik use cases" src="images/batikUses.jpg" title=""></p> <p>With Batik, you can manipulate SVG documents anywhere Java is available. You can also use the various <a href="using/index.html">Batik modules</a> to <a href="using/svg-generator.html">generate</a>, <a href="using/dom-api.html">manipulate</a> and <a href="using/transcoder.html">transcode</a> SVG images in your applications or applets.</p> <p>Batik makes it easy for Java based applications or applets to deal with SVG content. For example, using Batik鈥檚 <a href="using/svg-generator.html">SVG generator module</a>, a Java application or applet can very easily export its graphics into the SVG format. Using Batik鈥檚 <a href="using/swing.html">SVG viewing component</a>, an application or applet can very easily integrate SVG viewing and interaction capabilities. Another possibility is to use Batik鈥檚 modules to convert SVG to various formats, such as raster images (<abbr title="Joint Photographic Expert Group">JPEG</abbr>,<abbr title="Portable Network Graphics">PNG</abbr>or<abbr title="Tagged Image File Format">TIFF</abbr>) or other vector formats (<abbr title="Encapsulated PostScript">EPS</abbr>or<abbr title="Portable Document Format">PDF</abbr>, the latter two due to the transcoders provided by <a href="http://xmlgraphics.apache.org/fop/">Apache FOP</a>).</p> <p>The Batik toolkit includes the following:</p> <p><strong>Modules</strong></p> <ul> <li> <p>An <a href="using/dom-api.html">SVG DOM implementation</a></p> </li> <li> <p>A set of <a href="using/parsers.html">SVG microsyntax parsers</a></p> </li> <li> <p>A <a href="using/scripting/ecmascript.html">scripting module</a></p> </li> <li> <p>A <a href="using/svg-generator.html">generator</a> that creates an SVG document from Java2D calls</p> </li> <li> <p>A <a href="using/swing.html">Swing SVG component</a></p> </li> <li> <p>A <a href="using/transcoder.html">transcoder module</a></p> </li> </ul> <p><strong>Tools and applications</strong></p> <ul> <li> <p>Squiggle, an <a href="tools/browser.html">SVG browser</a></p> </li> <li> <p>An <a href="tools/rasterizer.html">SVG rasterizer</a></p> </li> <li> <p>A <a href="tools/font-converter.html">to SVG converter</a></p> </li> <li> <p>A <a href="tools/pretty-printer.html">pretty printer</a> for SVG source files</p> </li> </ul> <p>See <a href="uses.html">examples of projects and products using Batik</a> for real-life example of how Batik is already integrated in projects and products.</p> <h2 id="spec">The SVG specification</h2> <p>Scalable Vector Graphics, SVG, is a <a href="http://www.w3.org/">W3C</a> Recommendation. It defines an XML grammar for rich 2D graphics which includes features such as transparency, arbitrary geometry, filter effects (shadows, lighting effects, etc.), scripting and animation.</p> <p>The SVG specification states:</p> <p>This specification defines the features and syntax for Scalable Vector Graphics (SVG). SVG is a language for describing two-dimensional graphics in XML [ <a href="http://www.w3.org/TR/REC-xml">XML10</a> ]. SVG allows for three types of graphic objects: vector graphic shapes (e.g., paths consisting of straight lines and curves), images and text. Graphical objects can be grouped, styled, transformed and composited into previously rendered objects. The feature set includes nested transformations, clipping paths, alpha masks, filter effects and template objects.</p> <p>SVG documents can be interactive and dynamic. Animations can be defined and triggered either declaratively (i.e., by embedding SVG animation elements in SVG content) or via scripting.</p> <h2 id="status">Implementation status</h2> <p>The latest revision of Batik, release 1.18, is a conformant <a href="http://www.w3.org/TR/SVG11/conform.html#ConformingSVGViewers">static SVG implementation</a> and supports <a href="http://www.w3.org/TR/SVG11/interact.html">interactivity</a>, <a href="http://www.w3.org/TR/SVG11/linking.html">linking</a> and <a href="http://www.w3.org/TR/SVG11/script.html">scripting</a> features of the SVG specification. This release supports a nearly complete implementation of declarative <a href="http://www.w3.org/TR/SVG11/animate.html">animation</a>, too.</p> <p>See the <a href="status.html">status</a> page for a detailed description of the set of SVG features Batik supports.</p> <h2 id="download">Download Batik</h2> <p>You can get the Batik distribution, source and binary, from the <a href="download.html">download page</a>. All other libraries needed by Batik are included in the distribution. As a consequence the Batik archive is quite big, but after you have downloaded it, you will not need anything else.</p> </div> </div> <div class="clear"></div> <div id="footer"> <div class="copyright"> <div style="float:left; padding: 7px;"> <a title="Apache Software Foundation" href="http://www.apache.org"><img id="asf-feather-logo" alt="Apache Software Foundation" src="/images/asf_logo_url.png" width="200" /></a> </div> <p> Copyright © 2016 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>. <br /> Apache, Apache XML Graphics, Apache FOP, Apache Batik, the Apache feather logo, and the Apache XML Graphics logos are trademarks of <a href="http://www.apache.org">The Apache Software Foundation</a>. All other marks mentioned may be trademarks or registered trademarks of their respective owners. <br /> </p> </div> </div> </body> </html>