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 показывает, что он поврежден?Я хотел бы знать, как мне написать несколько изображений в файле слова.