You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ju...@apache.org on 2008/10/09 23:09:35 UTC
svn commit: r703260 - in /incubator/pdfbox/trunk: external/jai_codec.jar
external/jai_core.jar src/main/java/org/apache/pdfbox/pdmodel/PDPage.java
src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDCcitt.java
Author: jukka
Date: Thu Oct 9 14:09:35 2008
New Revision: 703260
URL: http://svn.apache.org/viewvc?rev=703260&view=rev
Log:
PDFBOX-381: Remove direct JAI dependency
Removed:
incubator/pdfbox/trunk/external/jai_codec.jar
incubator/pdfbox/trunk/external/jai_core.jar
Modified:
incubator/pdfbox/trunk/src/main/java/org/apache/pdfbox/pdmodel/PDPage.java
incubator/pdfbox/trunk/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDCcitt.java
Modified: incubator/pdfbox/trunk/src/main/java/org/apache/pdfbox/pdmodel/PDPage.java
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/src/main/java/org/apache/pdfbox/pdmodel/PDPage.java?rev=703260&r1=703259&r2=703260&view=diff
==============================================================================
--- incubator/pdfbox/trunk/src/main/java/org/apache/pdfbox/pdmodel/PDPage.java (original)
+++ incubator/pdfbox/trunk/src/main/java/org/apache/pdfbox/pdmodel/PDPage.java Thu Oct 9 14:09:35 2008
@@ -40,8 +40,10 @@
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
+import java.awt.geom.AffineTransform;
+import java.awt.image.AffineTransformOp;
import java.awt.image.BufferedImage;
-import java.awt.image.renderable.ParameterBlock;
+import java.awt.image.ImagingOpException;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
@@ -52,10 +54,7 @@
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.List;
-
-import javax.media.jai.Interpolation;
-import javax.media.jai.JAI;
-import javax.media.jai.PlanarImage;
+import java.util.logging.Level;
/**
* This represents a single page in a PDF document.
@@ -669,21 +668,17 @@
PageDrawer drawer = new PageDrawer();
drawer.drawPage( graphics, this, pageDimension );
- try{
+ try{
int rotation = findRotation();
if (rotation == 90 || rotation == 270) {
- ParameterBlock pb = new ParameterBlock();
- pb.addSource(retval); // The source image
- pb.add(0.0F); // The x origin
- pb.add(0.0F); // The y origin
- pb.add((float)(rotation * Math.PI) / 180); // The rotation angle
- pb.add(Interpolation.getInstance(Interpolation.INTERP_BILINEAR)); // The interpolation
- // Create the rotate operation
- retval = PlanarImage.wrapRenderedImage(JAI.create("Rotate", pb, null)).getAsBufferedImage();
+ AffineTransformOp transform = new AffineTransformOp(
+ AffineTransform.getRotateInstance(Math.toRadians(rotation)),
+ AffineTransformOp.TYPE_BILINEAR);
+ retval = transform.filter(retval, null);
}
- }catch(Throwable T){
- logger().severe(T.getMessage() + "\n at\n" + FullStackTrace(T));
- }
+ } catch (ImagingOpException e){
+ logger().log(Level.WARNING, "Unable to rotate page image", e);
+ }
return retval;
}
Modified: incubator/pdfbox/trunk/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDCcitt.java
URL: http://svn.apache.org/viewvc/incubator/pdfbox/trunk/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDCcitt.java?rev=703260&r1=703259&r2=703260&view=diff
==============================================================================
--- incubator/pdfbox/trunk/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDCcitt.java (original)
+++ incubator/pdfbox/trunk/src/main/java/org/apache/pdfbox/pdmodel/graphics/xobject/PDCcitt.java Thu Oct 9 14:09:35 2008
@@ -24,8 +24,7 @@
import java.util.ArrayList;
import java.util.List;
-import javax.media.jai.JAI;
-import javax.media.jai.PlanarImage;
+import javax.imageio.ImageIO;
import org.apache.pdfbox.cos.COSArray;
import org.apache.pdfbox.cos.COSBase;
@@ -37,9 +36,6 @@
import org.apache.pdfbox.pdmodel.common.PDStream;
import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceGray;
-import com.sun.media.jai.codec.ImageCodec;
-import com.sun.media.jai.codec.ImageDecoder;
-
/**
* An image class for CCITT Fax.
*
@@ -106,11 +102,14 @@
*/
public BufferedImage getRGBImage() throws IOException
{
- ImageDecoder dec = ImageCodec.createImageDecoder("tiff",
- new TiffWrapper(getPDStream().getPartiallyFilteredStream( FAX_FILTERS ),getCOSStream()), null);
-
- return ((PlanarImage)JAI.create("null", dec.decodeAsRenderedImage())).getAsBufferedImage();
-
+ InputStream tiff = new TiffWrapper(
+ getPDStream().getPartiallyFilteredStream( FAX_FILTERS ),
+ getCOSStream());
+ try {
+ return ImageIO.read(tiff);
+ } finally {
+ tiff.close();
+ }
}
/**