使用Java从MS单词表中提取图片

时间:2018-09-27 12:45:41

标签: java ms-word apache-poi

好吧,我有一个带演示文稿文字的Word(主要步骤)和一个带有3列的表格,第一个和第二个都不重要,它是text列,但是第三个带有一些图片。目的是检索第三列中包含的图像,以便将它们保存在数据库中(采用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文档都是相同的格式。

0 个答案:

没有答案