--- PdfGraphics2D.java.orig	2006-09-23 20:12:50.000000000 -0400
+++ com/lowagie/text/pdf/PdfGraphics2D.java	2006-09-23 20:57:36.000000000 -0400
@@ -101,6 +101,13 @@
 import java.util.Iterator;
 import java.awt.font.TextAttribute;
 
+//For Gnu-Classpath compatibility
+
+import javax.imageio.*;
+import javax.imageio.metadata.*;
+import javax.imageio.plugins.jpeg.JPEGImageWriteParam;
+
+
 public class PdfGraphics2D extends Graphics2D {
     
     private static final int FILL = 1;
@@ -1344,10 +1351,19 @@
                 g3.dispose();
                 
                 ByteArrayOutputStream baos = new ByteArrayOutputStream();
-                com.sun.image.codec.jpeg.JPEGImageEncoder encoder = com.sun.image.codec.jpeg.JPEGCodec.createJPEGEncoder(baos);
-                com.sun.image.codec.jpeg.JPEGEncodeParam param = com.sun.image.codec.jpeg.JPEGCodec.getDefaultJPEGEncodeParam(scaled);
-                param.setQuality(jpegQuality, true);
-                encoder.encode(scaled, param);
+                //com.sun.image.codec.jpeg.JPEGImageEncoder encoder = com.sun.image.codec.jpeg.JPEGCodec.createJPEGEncoder(baos);
+                //com.sun.image.codec.jpeg.JPEGEncodeParam param = com.sun.image.codec.jpeg.JPEGCodec.getDefaultJPEGEncodeParam(scaled);
+
+                ImageWriter encoder = (ImageWriter)ImageIO.getImageWritersByFormatName("JPEG").next();
+		JPEGImageWriteParam param = new JPEGImageWriteParam(null);
+                
+	        param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT);
+		param.setCompressionQuality(jpegQuality);
+		encoder.setOutput(baos);
+		encoder.write((IIOMetadata) null, new IIOImage(scaled,null,null), param);
+				
+		//param.setQuality(jpegQuality, true);
+                //encoder.encode(scaled, param);
                 scaled.flush();
                 scaled = null;
                 image = com.lowagie.text.Image.getInstance(baos.toByteArray());
