File itext-usefreesoftware.patch of Package itext

diff -up ./src/com/lowagie/text/pdf/PdfGraphics2D.java.sav ./com/lowagie/text/pdf/PdfGraphics2D.java
--- ./src/com/lowagie/text/pdf/PdfGraphics2D.java.sav	2008-01-22 14:05:28.000000000 -0500
+++ ./src/com/lowagie/text/pdf/PdfGraphics2D.java	2008-01-22 14:23:02.000000000 -0500
@@ -100,6 +100,11 @@ import java.util.Set;
 import java.util.Iterator;
 import java.awt.font.TextAttribute;
 
+import javax.imageio.*;
+import javax.imageio.plugins.jpeg.*;
+import javax.imageio.metadata.*;
+import javax.imageio.stream.*;
+
 public class PdfGraphics2D extends Graphics2D {
     
     private static final int FILL = 1;
@@ -1249,10 +1254,15 @@ public class PdfGraphics2D extends Graph
                 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);
+                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);
+                
                 scaled.flush();
                 scaled = null;
                 image = com.lowagie.text.Image.getInstance(baos.toByteArray());
openSUSE Build Service is sponsored by