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]