Добавить несколько изображений в Word, используя Apache POI - PullRequest
0 голосов
/ 13 марта 2019
public static void saveToWord(ArrayList<String> locations ) throws InvalidFormatException, IOException {
         XWPFDocument docx = new XWPFDocument();
            XWPFParagraph par = docx.createParagraph();
            XWPFRun run = par.createRun();
            FileOutputStream out = new FileOutputStream("/Users/sparker0i/WordDoc.docx"); 
            run.setText("Hello, World. This is my first java generated docx-file. Have fun.");
            run.setFontSize(13);
            for (String location : locations) {
                BufferedImage image = ImageIO.read(new File(location));
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                ImageIO.write(image, "jpeg", baos);
                baos.flush();
                ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray());
                baos.close();

                run.addPicture(bis, XWPFDocument.PICTURE_TYPE_JPEG, "image file", Units.toEMU(200), Units.toEMU(200)); // 200x200 pixels
                bis.close();

                docx.write(out);
            }
            out.close(); 
     }

Массив, переданный в качестве параметра этой функции, содержит местоположения всех изображений, которые будут добавлены в мой текстовый документ.Когда я пытаюсь это сделать, программа работает успешно, но мой файл docx показывает, что он поврежден?Я хотел бы знать, как мне написать несколько изображений в файле слова.

...