Извлеките картинку из таблицы MS Word с помощью Java - PullRequest
0 голосов
/ 27 сентября 2018

Ну, у меня есть Word с текстом презентации (основной шаг) и таблица с 3 столбцами, первый и второй не важны, это текстовый столбец, но третий завершен с некоторыми картинками.Цель состоит в том, чтобы извлечь изображения, содержащиеся в третьем столбце, чтобы сохранить их в базе данных (в формате BLOB).Я пытаюсь решить эту проблему с Apache POI, потому что я уже использую его для других столбцов, где я получаю текст.Ниже мой код уже реализован:

package wordtosql;
    import java.awt.image.BufferedImage;
    import java.io.*;
    import java.util.List;
    import javax.imageio.IIOException;
    import javax.imageio.ImageIO;
    import org.apache.poi.xwpf.usermodel.XWPFDocument;
    import org.apache.poi.xwpf.usermodel.XWPFParagraph;
    import org.apache.poi.xwpf.usermodel.*;
    import java.io.ByteArrayInputStream;
    import java.io.File;
    import java.io.FileInputStream;

public class ReadDocxTableFiles {
    public static void main(String[] args) throws FileNotFoundException, IOException  {
    try {
        FileInputStream fis = new FileInputStream("FGI-38562 Felsökning låg svetsstyrka CF_UB.docx");

        XWPFDocument docx = new XWPFDocument(fis);

        List<XWPFTable> table = docx.getTables();
        for (XWPFTable xwpfTable : table) {
            List<XWPFTableRow> row = xwpfTable.getRows();
            for (XWPFTableRow xwpfTableRow : row) {
                List<XWPFTableCell> cell = xwpfTableRow.getTableCells();
                for (XWPFTableCell xwpfTableCell : cell) {
                    if (xwpfTableCell != null) {
                        System.out.println(xwpfTableCell.getText());
                    }
                }
            }
        }

    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

} `

Это слово создано сторонним программным обеспечением, из которого я могу использовать только слова, которые он производит.Поэтому все эти документы Word имеют одинаковый формат.

...