Author: fanningpj
Date: Sat Feb 19 21:14:05 2022
New Revision: 1898235

URL: http://svn.apache.org/viewvc?rev=1898235&view=rev
Log:
add extra max size config

Modified:
    
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
    
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPictureData.java
    
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFPictureData.java

Modified: 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java?rev=1898235&r1=1898234&r2=1898235&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XMLSlideShow.java
 Sat Feb 19 21:14:05 2022
@@ -77,8 +77,6 @@ public class XMLSlideShow extends POIXML
     //arbitrarily selected; may need to increase
     private static final int DEFAULT_MAX_RECORD_LENGTH = 1_000_000;
     private static int MAX_RECORD_LENGTH = DEFAULT_MAX_RECORD_LENGTH;
-    private static final int DEFAULT_MAX_IMAGE_SIZE = 100_000_000;
-    private static int MAX_IMAGE_SIZE = DEFAULT_MAX_IMAGE_SIZE;
 
     private CTPresentation _presentation;
     private final List<XSLFSlide> _slides = new ArrayList<>();
@@ -103,20 +101,6 @@ public class XMLSlideShow extends POIXML
         return MAX_RECORD_LENGTH;
     }
 
-    /**
-     * @param length the max image size allowed for XMLSlideShow
-     */
-    public static void setMaxImageSize(int length) {
-        MAX_IMAGE_SIZE = length;
-    }
-
-    /**
-     * @return the max image size allowed for XMLSlideShow
-     */
-    public static int getMaxImageSize() {
-        return MAX_IMAGE_SIZE;
-    }
-
     public XMLSlideShow() {
         this(empty());
     }
@@ -572,7 +556,7 @@ public class XMLSlideShow extends POIXML
      */
     @Override
     public XSLFPictureData addPicture(InputStream is, PictureType format) 
throws IOException {
-        return addPicture(IOUtils.toByteArray(is, getMaxImageSize()), format);
+        return addPicture(IOUtils.toByteArray(is, 
XSLFPictureData.getMaxImageSize()), format);
     }
 
 

Modified: 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPictureData.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPictureData.java?rev=1898235&r1=1898234&r2=1898235&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPictureData.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xslf/usermodel/XSLFPictureData.java
 Sat Feb 19 21:14:05 2022
@@ -43,6 +43,24 @@ import org.apache.poi.util.Units;
  */
 @Beta
 public final class XSLFPictureData extends POIXMLDocumentPart implements 
PictureData {
+
+    private static final int DEFAULT_MAX_IMAGE_SIZE = 100_000_000;
+    private static int MAX_IMAGE_SIZE = DEFAULT_MAX_IMAGE_SIZE;
+
+    /**
+     * @param length the max image size allowed for XSLF pictures
+     */
+    public static void setMaxImageSize(int length) {
+        MAX_IMAGE_SIZE = length;
+    }
+
+    /**
+     * @return the max image size allowed for XSLF pictures
+     */
+    public static int getMaxImageSize() {
+        return MAX_IMAGE_SIZE;
+    }
+
     private Long checksum;
 
     // original image dimensions (for formats supported by BufferedImage)
@@ -86,7 +104,7 @@ public final class XSLFPictureData exten
      */
     public byte[] getData() {
         try (InputStream stream = getInputStream()) {
-            return IOUtils.toByteArray(stream);
+            return IOUtils.toByteArray(stream, getMaxImageSize());
         } catch (IOException e) {
             throw new POIXMLException(e);
         }

Modified: 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFPictureData.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFPictureData.java?rev=1898235&r1=1898234&r2=1898235&view=diff
==============================================================================
--- 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFPictureData.java
 (original)
+++ 
poi/trunk/poi-ooxml/src/main/java/org/apache/poi/xssf/usermodel/XSSFPictureData.java
 Sat Feb 19 21:14:05 2022
@@ -34,6 +34,23 @@ import org.apache.poi.util.IOUtils;
  */
 public class XSSFPictureData extends POIXMLDocumentPart implements PictureData 
{
 
+    private static final int DEFAULT_MAX_IMAGE_SIZE = 100_000_000;
+    private static int MAX_IMAGE_SIZE = DEFAULT_MAX_IMAGE_SIZE;
+
+    /**
+     * @param length the max image size allowed for XSSF pictures
+     */
+    public static void setMaxImageSize(int length) {
+        MAX_IMAGE_SIZE = length;
+    }
+
+    /**
+     * @return the max image size allowed for XSSF pictures
+     */
+    public static int getMaxImageSize() {
+        return MAX_IMAGE_SIZE;
+    }
+
     /**
      * Relationships for each known picture type
      */
@@ -88,7 +105,7 @@ public class XSSFPictureData extends POI
      */
     public byte[] getData() {
         try (InputStream inputStream = getPackagePart().getInputStream()) {
-            return IOUtils.toByteArray(inputStream);
+            return IOUtils.toByteArray(inputStream, getMaxImageSize());
         } catch(IOException e) {
             throw new POIXMLException(e);
         }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to