]> source.dussan.org Git - poi.git/commitdiff
XSLFPictureData support for TIFF images - patch and tests from bug #59742 from Jens...
authorNick Burch <nick@apache.org>
Wed, 22 Jun 2016 16:18:36 +0000 (16:18 +0000)
committerNick Burch <nick@apache.org>
Wed, 22 Jun 2016 16:18:36 +0000 (16:18 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1749732 13f79535-47bb-0310-9956-ffa450edef68

src/ooxml/java/org/apache/poi/xslf/usermodel/XSLFPictureData.java
src/ooxml/testcases/org/apache/poi/xslf/usermodel/TestXSLFPictureShape.java
test-data/slideshow/testtiff.tif [new file with mode: 0644]

index 3431d1c241f58204b675aba21a67f9db5eaa1f69..9f705e0e04daba5bfaa4b2d57021f275e30343e5 100644 (file)
@@ -249,6 +249,8 @@ public final class XSLFPictureData extends POIXMLDocumentPart implements Picture
             return PictureType.WPG;
         } else if (XSLFRelation.IMAGE_WDP.getContentType().equals(ct)) {
             return PictureType.WDP;
+        } else if (XSLFRelation.IMAGE_TIFF.getContentType().equals(ct)) {
+            return PictureType.TIFF;
         } else {
             return null;
         }
@@ -267,6 +269,7 @@ public final class XSLFPictureData extends POIXMLDocumentPart implements Picture
             case BMP: return XSLFRelation.IMAGE_BMP;
             case WPG: return XSLFRelation.IMAGE_WPG;
             case WDP: return XSLFRelation.IMAGE_WDP;
+            case TIFF: return XSLFRelation.IMAGE_TIFF;
             default: return null;
         }
     }
index 2d7402f714d1a5b3d4e3dd4fc860e907ffcd7e5d..95d407a02f5bb440b9fe8d2687c982ed26c89b9b 100644 (file)
@@ -32,6 +32,7 @@ import java.util.Map;
 \r
 import org.apache.poi.POIDataSamples;\r
 import org.apache.poi.sl.usermodel.PictureData.PictureType;\r
+import org.apache.poi.util.IOUtils;\r
 import org.apache.poi.xslf.XSLFTestDataSamples;\r
 import org.junit.Test;\r
 import org.openxmlformats.schemas.presentationml.x2006.main.CTPicture;\r
@@ -193,4 +194,18 @@ public class TestXSLFPictureShape {
         assertTrue(ppt2.getPictureData().isEmpty());\r
         ppt2.close();\r
     }\r
+    \r
+    @Test\r
+    public void testTiffImageBug59742() throws Exception {\r
+        XMLSlideShow slideShow = new XMLSlideShow();\r
+        final InputStream tiffStream = _slTests.openResourceAsStream("testtiff.tif");\r
+        final byte[] pictureData = IOUtils.toByteArray(tiffStream);\r
+        IOUtils.closeQuietly(tiffStream);\r
+        \r
+        XSLFPictureData pic = slideShow.addPicture(pictureData, PictureType.TIFF);\r
+        assertEquals("image/tiff", pic.getContentType());\r
+        assertEquals("image1.tiff", pic.getFileName());\r
+        \r
+        slideShow.close();\r
+    }\r
 }
\ No newline at end of file
diff --git a/test-data/slideshow/testtiff.tif b/test-data/slideshow/testtiff.tif
new file mode 100644 (file)
index 0000000..99e6bde
Binary files /dev/null and b/test-data/slideshow/testtiff.tif differ