SVG Pretty Printer
This page describes the features of the SVG pretty printer utility that comes with the Batik distribution. The SVG pretty printer is a utility that can format SVG files. The tool formats an SVG document according to the arguments passed on the command line.
-
Downloading the pretty printer
+
Downloading the pretty printer
Refer to the install page and the download page to find out what to download and how to download it. Remember that you can get either the source or binary distribution.
-
Pretty printing an SVG file
+
Pretty printing an SVG file
The method for starting the pretty-printer depends on the distribution of Batik that you chose to download. The following describes how to run the pretty printer for each distribution.
-
Using the binary distribution
+
Using the binary distribution
If you downloaded the binary distribution of Batik, you should have a file called batik-1.6.zip
(or similar), and, after expanding that file, a jar file called batik-svgpp.jar
. To start the pretty printer, open a console, change to the directory where you expanded the distribution (and where batik-svgpp.jar
is located) and simply type the following at the command prompt:
java -jar batik-svgpp.jar [OPTIONS] FILES
For example, if you type:
@@ -203,30 +203,45 @@ specifies the public ID to in the doctyp
-system-id string
:
specifies the system ID to in the doctype declaration, when -doctype change
is specified.
-
For example:
-java -jar batik-svgpp.jar -tab-width 2 -newline cr-lf src.svg dest.svg
-will format src.svg
and write it to dest.svg
using a tabulation width of 2 and Windows-style newlines, and:
-java -jar batik-svgpp.jar -no-format -doctype change -public-id "-//W3C//DTD SVG 1.1//EN" \
- -system-id "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" src.svg dest.svg
-will format src.svg
and write it to dest.svg
unchanged, except for the doctype public and system IDs, which will be replaced by those specified.
-
Using the source distribution
-
If you downloaded the source distribution of Batik, you will have a zip or tar file that expanded into a directory called xml-batik
orbatik-
version
. In that directory, you can find build scripts for the platform you are running on. For example, there is a build.bat
script for users of the Windows platform and there is a build.sh
script for UNIX users.
+
For example:
+
java -jar batik-svgpp.jar -tab-width 2 -newline cr-lf src.svg dest.svg
+
+
+
+
will format src.svg
and write it to dest.svg
using a tabulation width of 2 and Windows-style newlines, and:
+
java -jar batik-svgpp.jar -no-format -doctype change -public-id "-//W3C//DTD SVG 1.1//EN" \
+ -system-id "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" src.svg dest.svg
+
+
+
+
will format src.svg
and write it to dest.svg
unchanged, except for the doctype public and system IDs, which will be replaced by those specified.
+
Using the source distribution
+
If you downloaded the source distribution of Batik, you will have a zip or tar file that expanded into a directory called xml-batik
or batik-
version
. In that directory, you can find build scripts for the platform you are running on. For example, there is a build.bat
script for users of the Windows platform and there is a build.sh
script for UNIX users.
To start the pretty printer you should:
-
Make sure that your JAVA_HOME
environment variable is set to your JDK installation directory.
-
Open a command line window and go to the xml-batik
or batik-
version
directory where the Batik distribution was expanded.
-
-For windows, type the following at the command prompt:
-build svgpp
-and for Unix:
-./build.sh svgpp
-This will print out a help message for the pretty printer.
-
You can pass options to the rasterizer as follows, for Windows:
-build svgpp [OPTIONS] FILES
-and for Unix:
-./build.sh svgpp [OPTIONS] FILES
-Refer to âUsing the binary distributionâ for an explanation of these options.
+For windows, type the following at the command prompt:
+This will print out a help message for the pretty printer.
+SVG Rasterizer
This page describes the features of the SVG Rasterizer utility that comes with the Batik distribution. The SVG Rasterizer is a utility that can convert SVG files to a raster format. The tool can convert individual files or sets of files, making it easy to convert entire directories of SVG files. The provided formats are JPEG, PNG and TIFF, however the design allows new formats to be added easily. In addition, the rasterizer can (despite its name) transcode to PDF.
-
Downloading the rasterizer
+
Downloading the rasterizer
Refer to the install page and the download area to find out what to download and how to install it. Remember that you can get either the source or binary distribution.
-
Rasterizing one or several SVG files
+
Rasterizing one or several SVG files
The method for starting the rasterizer depends on the distribution of Batik that you chose to download. The following describes how to start the viewer for each distribution.
-
Using the binary distribution
+
Using the binary distribution
If you downloaded the binary distribution of Batik, you should have a file called batik-1.6.zip
(or similar), and, after expanding that file, a jar file called batik-rasterizer.jar
. To start the rasterizer, open a console, go to the directory where you expanded the distribution (and where batik-rasterizer.jar
is located) and simply type the following at the command prompt:
-
java -jar batik-rasterizer.jar FILES
+
java -jar batik-rasterizer.jar FILES
+
+
+
For example, if you type:
-
java -jar batik-rasterizer.jar samples/batikFX.svg
-
you will see the following printout:
-Converting file: samples/BatikFX.svg to samples/BatikFX.png
-Once the conversion is complete, you will find a batikFX.png
file in the samples directory.
+
java -jar batik-rasterizer.jar samples/batikFX.svg
+
+
+
+
you will see the following printout:
+
Converting file: samples/BatikFX.svg to samples/BatikFX.png
+
+
+
+
Once the conversion is complete, you will find a batikFX.png
file in the samples directory.
You can pass options on the command line:
-
java -jar batik-rasterizer.jar [OPTIONS] FILES
+
java -jar batik-rasterizer.jar [OPTIONS] FILES
+
+
+
where, as options:
-
-d dir|file
+
-d
dir|file
:
specifies the output directory, or the output file if there is only a single input file,
-
-m mime-type
+
-m
mime-type
:
specifies the output MIME type, which should be one of image/png
, image/jpeg
, image/tiff
or application/pdf
,
-
-w width
+
-w
width
:
specifies the output width as a floating point value,
-
-h height
+
-h
height
:
specifies the output height as a floating point value,
-
-maxw width
+
-maxw
width
:
specifies the maximum output width as a floating point value,
-
-maxh height
+
-maxh
height
:
specifies the maximum output height as a floating point value,
-
-a x , y , width , height
+
-a
x
,
y
,
width
,
height
:
specifies the area of interest (as floating point values) of the SVG file to rasterize (and if not specified, will be determined by the width
/ height
/ viewBox
attributes if specified in the document, and be 0,0,400,400 otherwise),
-
-bg alpha . red . green . blue
+
-bg
alpha
.
red
.
green
.
blue
:
specifies the background fill color as an ARGB quadruple, where each component is an integer in the range 0â255,
-
-cssMedia media
+
-cssMedia
media
:
specifies the CSS media type used for matching CSS rules,
-
-cssAlternate file|uri
+
-cssAlternate
file|uri
:
specifies the CSS alternate stylesheet to use,
-
-cssUser file|uri
+
-cssUser
file|uri
:
specifies the CSS user stylesheet to use in addition to any other referenced or embedded stylesheets,
-
-font-family defaultFontFamily
+
-font-family
defaultFontFamily
:
specifies default font family to be used when none is specified,
-
-lang language-code
+
-lang
language-code
:
specifies the RFC 3066 language code to use,
-
-q quality
+
-q
quality
:
specifies the quality of the output image, as a floating point number in the range 0 < quality < 1 when generating JPEG images,
-
-indexed 1|2|4|8
+
-indexed
1|2|4|8
:
specifies the number of bits per pixel of the output image, using an adaptive pallete, resulting in an indexed image when generating PNG images,
-
-dpi resolution
+
-dpi
resolution
:
specifies the resolution of the output image in dots per inch,
-
-validate
+
-validate
:
specifies that the source SVG files must be validated against their DTDs,
-
-onload
+
-onload
:
specifies that the SVG files should be rasterized after dispatching the SVG load event,
-
-snapshotTime
+
-snapshotTime
:
specifies the document time that should be seeked to before rasterizing the document, implying -onload,
-
-scriptSecurityOff
+
-scriptSecurityOff
:
specifies that any security checks on the scripts running as a result of dispatching the SVG load event will be bypassed,
-
-anyScriptOrigin
+
-anyScriptOrigin
:
specifies that scripts can be loaded from any location, while by default they can only be loaded from the same location as the document, and
-
-scripts allowed-script-types
+
-scripts
allowed-script-types
:
specifies a list of script types (i.e., values for the type
attribute on script
elements) that should be loaded.
For example:
-
java -jar batik-rasterizer.jar -d myDir -m image/jpeg samples/*.svg
+
java -jar batik-rasterizer.jar -d myDir -m image/jpeg samples/*.svg
+
+
+
will generate JPEG images for all the SVG files found in the samples directory.
-
Using the source distribution
-
If you downloaded the source distribution of Batik, you got a zip or tar file that expanded into a directory called xml-batik
or batik- *version*
. In that directory, you can find build scripts for the platform you are running on. For example, there is a build.bat
script for users of the Windows platform and there is a build.sh
script for UNIX users.
+
Using the source distribution
+
If you downloaded the source distribution of Batik, you got a zip or tar file that expanded into a directory called xml-batik
or batik-
version
. In that directory, you can find build scripts for the platform you are running on. For example, there is a build.bat
script for users of the Windows platform and there is a build.sh
script for UNIX users.
To start the rasterizer you should:
-
@@ -265,19 +280,31 @@ specifies a list of script types (i.e.,
-
For windows, type the following at the command prompt:
-
build svgrasterizer
+
+
+
and for Unix:
-
./build.sh svgrasterizer
+
./build.sh svgrasterizer
+
+
+
This will print out a help message for the rasterizer.
You can pass options to the rasterizer as follows, for Windows:
-
build svgrasterizer [OPTIONS] FILES
+
build svgrasterizer [OPTIONS] FILES
+
+
+
and for Unix:
-
./build.sh svgrasterizer [OPTIONS] FILES
+
./build.sh svgrasterizer [OPTIONS] FILES
+
+
+
Refer to âUsing the binary distributionâ for an explanation of the options.
-
Rasterizer Ant task
+
Rasterizer Ant task
The Rasterizer task is an Ant version of the rasterizer utility. It fulfills the same basic purpose as the utility but has a different syntax and a slightly different set of features.
The task is able to produce four raster formats: PNG, JPEG, TIFF and PDF.
-
Using the rasterizer task
+
Using the rasterizer task
The first thing to do is to compile rasterizer task classes. Download the source distribution of Batik and see the README
file in the contrib/rasterizertask
directory for more instructions. The build procedure works the same way as when building Batik itself.
After building, ensure that the generated batik-rasterizer.jar
and the classes (or jar file) of the rasterizer task are in your CLASSPATH
.
Next you have to define the task in your Ant project. To do this, add the following line either after the project
start tag or after the target
start tag in the target you are using the rasterizer task:
@@ -287,7 +314,7 @@ For windows, type the following at the c
Now you can use the rasterizer task in your project. See the parameters section for an explanation of the available parameters or the examples section to see few usage examples.
-
Parameters of the Ant task
+
Parameters of the Ant task
The following table lists the attributes that may be specified on the rasterize
task element.
@@ -381,7 +408,7 @@ For windows, type the following at the c
You can use fileset
elements to select input files and directories. See the Ant documentation to learn how to use filesets.
-
Examples of using the rasterizer task
+
Examples of using the rasterizer task
The following example is the complete Ant project that converts an SVG image (called input.svg
) to a PNG image (called output.png
):
<?xml version="1.0"?>
<project name="RasterizerExample" default="main" basedir=".">
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: commits-help@xmlgraphics.apache.org