You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2015/05/08 07:39:12 UTC

svn commit: r1678285 - /pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/RubberStampWithImage.java

Author: tilman
Date: Fri May  8 05:39:12 2015
New Revision: 1678285

URL: http://svn.apache.org/r1678285
Log:
PDFBOX-2777: use the new convenience method, as suggested by John Hewson

Modified:
    pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/RubberStampWithImage.java

Modified: pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/RubberStampWithImage.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/RubberStampWithImage.java?rev=1678285&r1=1678284&r2=1678285&view=diff
==============================================================================
--- pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/RubberStampWithImage.java (original)
+++ pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/RubberStampWithImage.java Fri May  8 05:39:12 2015
@@ -16,15 +16,12 @@
  */
 package org.apache.pdfbox.examples.pdmodel;
 
-import java.awt.image.BufferedImage;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.OutputStream;
 import java.text.NumberFormat;
 import java.util.List;
 import java.util.Locale;
-import javax.imageio.ImageIO;
 import org.apache.pdfbox.cos.COSDictionary;
 import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.pdmodel.PDDocument;
@@ -33,9 +30,6 @@ import org.apache.pdfbox.pdmodel.PDResou
 import org.apache.pdfbox.pdmodel.common.PDRectangle;
 import org.apache.pdfbox.pdmodel.common.PDStream;
 import org.apache.pdfbox.pdmodel.graphics.form.PDFormXObject;
-import org.apache.pdfbox.pdmodel.graphics.image.CCITTFactory;
-import org.apache.pdfbox.pdmodel.graphics.image.JPEGFactory;
-import org.apache.pdfbox.pdmodel.graphics.image.LosslessFactory;
 import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
 import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotation;
 import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationRubberStamp;
@@ -88,27 +82,9 @@ public class RubberStampWithImage
                     rubberStamp.setContents("A top secret note");
 
                     // create a PDXObjectImage with the given image file
-                    String imageFilename = args[2];
-                    PDImageXObject ximage;
-                    if( imageFilename.toLowerCase().endsWith( ".jpg" ) )
-                    {
-                        ximage = JPEGFactory.createFromStream(document, new FileInputStream(imageFilename));
-                    }
-                    else if (imageFilename.toLowerCase().endsWith(".tif") || imageFilename.toLowerCase().endsWith(".tiff"))
-                    {
-                        ximage = CCITTFactory.createFromFile(document, new File(imageFilename));
-                    }
-                    else if (imageFilename.toLowerCase().endsWith(".gif") || 
-                            imageFilename.toLowerCase().endsWith(".bmp") || 
-                            imageFilename.toLowerCase().endsWith(".png"))
-                    {
-                        BufferedImage bim = ImageIO.read(new File(imageFilename));
-                        ximage = LosslessFactory.createFromImage(document, bim);
-                    }
-                    else
-                    {
-                        throw new IOException( "Image type not supported: " + imageFilename );
-                    }                    
+                    // if you already have the image in a BufferedImage, 
+                    // call LosslessFactory.createFromImage() instead
+                    PDImageXObject ximage = PDImageXObject.createFromFile(args[2], document);           
 
                     // define and set the target rectangle
                     int lowerLeftX = 250;