# Apache XML Graphics Commons

Apache XML Graphics Commons is a library in which the two XML Graphics subprojects (Apache Batik and Apache FOP) extracted components which are used by both codebases.

See: Description

Images
Package | Description
--- | ---
org.apache.xmlgraphics.image | Classes, codecs and utilities for bitmap images.
org.apache.xmlgraphics.image.codec.png | Contains a PNG image codec.
org.apache.xmlgraphics.image.codec.tiff | Contains a TIFF image codec.
org.apache.xmlgraphics.image.codec.util | Contains utility classes for image codecs.
org.apache.xmlgraphics.image.loader | Contains image loading and conversion infrastructure for various image sources and an image cache.
org.apache.xmlgraphics.image.loader.cache | Contains image caching infrastructure.
org.apache.xmlgraphics.image.loader.impl | Contains implementations of image loaders and converters.
org.apache.xmlgraphics.image.loader.impl.imageio | Contains an implementation of an image loader which uses ImageIO.
org.apache.xmlgraphics.image.loader.pipeline | Provides an image loading and processing pipeline.
org.apache.xmlgraphics.image.loader.spi | Defines service provider interfaces for the image infrastructure.
org.apache.xmlgraphics.image.loader.util | Contains utilities and helper classes useful in conjunction with the image package.
org.apache.xmlgraphics.image.rendered | Specialized subclasses of RenderedImage for various tasks (color space conversion, caching etc.)
org.apache.xmlgraphics.image.writer | Abstraction layer with interfaces for writing bitmap images.
org.apache.xmlgraphics.image.writer.imageio | Implementations of ImageWriter using the ImageIO API.
org.apache.xmlgraphics.image.writer.internal | Implementations of ImageWriter using Commons' own image codecs.

Java2D
Package | Description
--- | ---
org.apache.xmlgraphics.java2d | Provides convenience base and utility classes for subclassing the `java.awt.Graphics2D` class in order to translate Java 2D primitives into another graphic format.
org.apache.xmlgraphics.java2d.color | Provides additional color infrastructure so SVG and XSL-FO implementations can store additional color information and do things like specialized color conversions.
org.apache.xmlgraphics.java2d.color.profile | Provides classes around the topic of color profiles, like support for ICC named color profiles.
org.apache.xmlgraphics.java2d.ps | Graphics2D implementations for generating PostScript and Encapsulated PostScript (EPS) files.

PDF, PostScript...
Package | Description
--- | ---
org.apache.xmlgraphics.ps | Classes for the creation of PostScript files.
org.apache.xmlgraphics.ps.dsc | Tools for DSC-compliant PostScript files (DSC = Document Structuring Conventions).
org.apache.xmlgraphics.ps.dsc.events | Event classes used by the DSC parser.
org.apache.xmlgraphics.ps.dsc.tools | Tools for working with DSC-compliant PostScript files.

Fonts
Package | Description
--- | ---
org.apache.xmlgraphics.fonts | Classes for handling fonts, glyphs, font encodings etc.

XMP Metadata
Package | Description
--- | ---
org.apache.xmlgraphics.xmp | This package is an XMP metadata framework.
org.apache.xmlgraphics.xmp.merge | Classes for merging two XMP metadata documents.
org.apache.xmlgraphics.xmp.schemas | Schema and schema adapter classes for accessing XMP metadata.
org.apache.xmlgraphics.xmp.schemas.pdf | PDF-specific XMP schemas and schema adapter classes.

Utility
Package | Description
--- | ---
org.apache.xmlgraphics.util | Various utilities used by the Apache XML Graphics project.
org.apache.xmlgraphics.util.dijkstra | Contains an implementation of Dijkstra's shortest path algorithm.
org.apache.xmlgraphics.util.i18n | Provides utility classes for internationalization.
org.apache.xmlgraphics.util.io | I/O-related classes (encoders/decoders, enhanced compressors etc.).
org.apache.xmlgraphics.util.uri |

Other Packages
Package | Description
--- | ---
org.apache.xmlgraphics.io |

Apache XML Graphics Commons is a library in which the two XML Graphics subprojects (Apache Batik and Apache FOP) extracted components which are used by both codebases. The goal is to create a clean dependency hierarchy and to make components more visible which can be usable separately (i.e. without Batik and FOP).

To more information, including general documentation, go to the Apache XML Graphics Project Website.

Copyright 1999-2025 The Apache Software Foundation. All Rights Reserved.