package org.apache.poi.xwpf.usermodel;
+import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import java.util.Optional;
import org.apache.poi.POIDataSamples;
+import org.apache.poi.common.usermodel.PictureType;
import org.apache.poi.ooxml.POIXMLDocumentPart;
import org.apache.poi.ooxml.POIXMLProperties;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
assertNotNull(relationById);
byte[] newJpeg = relationById.getData();
assertEquals(newJpeg.length, jpeg.length);
- for (int i = 0; i < jpeg.length; i++) {
- assertEquals(newJpeg[i], jpeg[i]);
- }
+ assertArrayEquals(jpeg, newJpeg);
+ }
+ }
+
+ @Test
+ void testAddPicture2() throws IOException, InvalidFormatException {
+ try (XWPFDocument doc = XWPFTestDataSamples.openSampleDocument("sample.docx")) {
+ byte[] data = XWPFTestDataSamples.getImage("nature1.png");
+ String relationId = doc.addPictureData(data, PictureType.PNG);
+
+ XWPFPictureData relationById = (XWPFPictureData) doc.getRelationById(relationId);
+ assertNotNull(relationById);
+ byte[] newData = relationById.getData();
+ assertEquals(newData.length, data.length);
+ assertArrayEquals(data, newData);
}
}
import java.io.IOException;
import java.util.List;
+import org.apache.poi.common.usermodel.PictureType;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.opc.PackageRelationship;
import org.apache.poi.xssf.usermodel.XSSFRelation;
assertNotNull(pict);
assertEquals("jpeg", pict.suggestFileExtension());
assertArrayEquals(pictureData, pict.getData());
+
+ byte[] pictureData2 = XWPFTestDataSamples.getImage("nature1.png");
+
+ String relationId2 = sampleDoc.addPictureData(pictureData2, PictureType.PNG);
+ assertNotEquals(relationId, relationId2);
+ // picture list was updated
+ assertEquals(num + 2, pictures.size());
+ XWPFPictureData pict2 = (XWPFPictureData) sampleDoc.getRelationById(relationId2);
+ assertNotNull(pict2);
+ assertEquals("png", pict2.suggestFileExtension());
+ assertArrayEquals(pictureData2, pict2.getData());
}
}