提问者:小点点

使用 Java 阅读 DOCX 文档


我有一个项目隐写术,可以将docx文档隐藏到jpeg图像中。使用apache POI,我可以运行它并阅读docx文档,但只能读取字母。

即使里面有图片。

这是代码

FileInputStream in = null;
    try
    {
        in = new FileInputStream(directory);
        XWPFDocument datax = new XWPFDocument(in);
        XWPFWordExtractor extract = new XWPFWordExtractor(datax);
        String DataFinal = extract.getText();
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        String line = null;
        this.isi_file = extract.getText();
    }
    catch (IOException x) {}
        System.out.println("isi :" + this.isi_file);

如何使用 java 读取 docx 文档中的所有组件?请帮助我,谢谢你的帮助。


共1个答案

匿名用户

请查看 XWPF 目录类的文档。它包含一些有用的方法,例如:

  • getAllPictures() 返回文档中所有图片的列表;
  • getTables() 返回文档中所有表的列表。

在你的代码片段中存在行 XWPFDocument datax = new XWPFDocument(in);。因此,在该行之后,您可以编写一些代码,例如:

// process all pictures in document
for (XWPFPictureData picture : datax.getAllPictures()) {
    // get each picture as byte array
    byte[] pictureData = picture.getData();
    // process picture somehow
    ...
}