Skip to content


Subversion checkout URL

You can clone with
Download ZIP
XML/XHTML and CSS 2.1 renderer in pure Java
Java HTML CSS Lex AMPL Batchfile
Failed to load latest commit information.
archive Move Ant build to archive
bin Fix links, menu, add news page
doc Update users-guide-r8.xil
flying-saucer-core [maven-release-plugin] prepare for next development iteration
flying-saucer-examples [maven-release-plugin] prepare for next development iteration
flying-saucer-log4j [maven-release-plugin] prepare for next development iteration
flying-saucer-pdf-itext5 [maven-release-plugin] prepare for next development iteration
flying-saucer-pdf [maven-release-plugin] prepare for next development iteration
flying-saucer-swt-examples [maven-release-plugin] prepare for next development iteration
flying-saucer-swt [maven-release-plugin] prepare for next development iteration
lib Move build to Maven
notes Remove Minium anti-aliasing library as sources are not available. Rem…
src Move build to Maven
temp Remove Doctype, causing problems with some loaders
test Work on bringing regression test classes up-to-date.
tests regression snapshot was missing source images, now using Ant to make …
www Reapply changes that cvsps had trouble with
.cvsignore .
.gitignore Update for Bintray deployment
.hgignore Add .hgignore for those using hg-git
LICENSE - change (back) license to 2.1 or later
LICENSE-GPL-2.txt + license text GPL 2
LICENSE-GPL-3.txt - license update LGPL version 2.1 to 3
LICENSE-LGPL-2.1.txt - change (back) license to 2.1 or later
LICENSE-LGPL-3.txt - license update LGPL version 2.1 to 3
LICENSE-W3C-TEST Added license for W3C tests, as requested on tests website.
README - change (back) license to 2.1 or later
pom.xml [maven-release-plugin] prepare for next development iteration


Flying Saucer
Please see project website for links to git, mailing lists, issue tracker, etc.

Flying Saucer is a pure-Java library for rendering arbitrary well-formed XML 
(or XHTML) using CSS 2.1 for layout and formatting, output to Swing panels, 
PDF, and images.

Comprehensive documentation available in our user's guide, linked from our website at
For information on our development releases, please contact us on our mailing lists.

If you end up using Flying Saucer for your own projects, please drop us an
email and tell us about it; it helps inform where we go next, and is interesting
and inspiring to other developers.

Flying Saucer is distributed under the LGPL.  Flying Saucer itself is licensed 
under the GNU Lesser General Public License, version 2.1 or later, available at You can use Flying Saucer in any
way and for any purpose you want as long as you respect the terms of the 
license. A copy of the LGPL license is included as license-lgpl-2.1.txt or license-lgpl-3.txt
in our distributions and in our source tree.

Flying Saucer uses a couple of FOSS packages to get the job done. A list
of these, along with the license they each have, is listed in the 
LICENSE file in our distribution.   

New releases of Flying Saucer are distributed through Maven.  The available artifacts are:

org.xhtmlrenderer:flying-saucer-core - Core library and Java2D rendering
org.xhtmlrenderer:flying-saucer-pdf - PDF output using iText
org.xhtmlrenderer:flying-saucer-swt - SWT output
org.xhtmlrenderer:flying-saucer-log4j - Logging plugin for log4j

There is a large amount of sample code under the flying-saucer-demos directory.
A pre-configured Eclipse project is provided to run a few of them.  

For users of other IDEs, make sure the src/java and resources directories under
the about, docbook, svg, and browser directories are available on the build
path.  samples/src and splash should also be in the build path.

flying-saucer-core, flying-saucer-pdf, and flying-saucer-swt must also be on the
build path as well as the an SWT JAR for your OS.

The Eclipse config files as committed with flying-saucer-swt use a Linux SWT
JAR.  You will need to update if using another OS.

org.xhtmlrenderer.demo.browser.BrowserStartup will start the browser demo.

Some good entry points (classes) are:

Something went wrong with that request. Please try again.