Kind Regards,
Fábio Antunes
Hi Fábio,
Document doc = new Document(getMyDir() + “input.docx”);List<BufferedImage> images = new ArrayList<BufferedImage>();
int bigImageWidth = 0;
int bigImageHeight = 0;ImageSaveOptions options = new ImageSaveOptions(SaveFormat.PNG);
options.setPageCount(1);for (int i = 0; i < doc.getPageCount(); i++){
options.setPageIndex(i);ByteArrayOutputStream imgStream <font color="BLUE">=</font> <font color="RED"><b>new</b></font> ByteArrayOutputStream<font color="BLUE"><b>(</b></font><font color="BLUE"><b>)</b></font><font color="BLUE"><b>;</b></font> doc<font color="BLUE"><b>.</b></font>save<font color="BLUE"><b>(</b></font>imgStream<font color="BLUE"><b>,</b></font> options<font color="BLUE"><b>)</b></font><font color="BLUE"><b>;</b></font> ByteArrayInputStream imgInputStream <font color="BLUE">=</font> <font color="RED"><b>new</b></font> ByteArrayInputStream<font color="BLUE"><b>(</b></font>imgStream<font color="BLUE"><b>.</b></font>toByteArray<font color="BLUE"><b>(</b></font><font color="BLUE"><b>)</b></font><font color="BLUE"><b>)</b></font><font color="BLUE"><b>;</b></font> BufferedImage read <font color="BLUE">=</font> ImageIO<font color="BLUE"><b>.</b></font>read<font color="BLUE"><b>(</b></font>imgInputStream<font color="BLUE"><b>)</b></font><font color="BLUE"><b>;</b></font> images<font color="BLUE"><b>.</b></font>add<font color="BLUE"><b>(</b></font>read<font color="BLUE"><b>)</b></font><font color="BLUE"><b>;</b></font> bigImageWidth <font color="BLUE">=</font> <font color="BLUE"><b>(</b></font>bigImageWidth <font color="BLUE"><</font> read<font color="BLUE"><b>.</b></font>getWidth<font color="BLUE"><b>(</b></font><font color="BLUE"><b>)</b></font><font color="BLUE"><b>)</b></font> <font color="BLUE">?</font> read<font color="BLUE"><b>.</b></font>getWidth<font color="BLUE"><b>(</b></font><font color="BLUE"><b>)</b></font> <font color="BLUE">:</font> bigImageWidth<font color="BLUE"><b>;</b></font> bigImageHeight <font color="BLUE">+</font><font color="BLUE">=</font> read<font color="BLUE"><b>.</b></font>getHeight<font color="BLUE"><b>(</b></font><font color="BLUE"><b>)</b></font><font color="BLUE"><b>;</b></font> imgInputStream<font color="BLUE"><b>.</b></font>close<font color="BLUE"><b>(</b></font><font color="BLUE"><b>)</b></font><font color="BLUE"><b>;</b></font> imgStream<font color="BLUE"><b>.</b></font>close<font color="BLUE"><b>(</b></font><font color="BLUE"><b>)</b></font><font color="BLUE"><b>;</b></font>
}
BufferedImage finalImage = new BufferedImage(bigImageWidth, bigImageHeight, BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = finalImage.createGraphics();
int x = 0;
int y = 0;for (BufferedImage bufferedImage : images) {
g2d.drawImage(bufferedImage, null, x, y);
y += bufferedImage.getHeight();
}ImageIO.write(finalImage, “PNG”, new File(“D:\Temp\out.png”));