You can make one yourself using SVG (Scalable Vector Graphics), which can produce graphics directly from an XML file for viewing in a web browser with an SVG plugin. The SVG file is an XML file with a .svg extension (it is rendered by a browser into an SVG), so all you need to do is write a Java class which can produce <rect> tags (rectangles to represent an ER box) with data specific to that ER (which can be input or read in from another file/class), and output the XML into a .svg. I have been using it to create graphics on the fly with raw data.
You can also use an API from apache called Batik (google for it).
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com