ClownsAndTears 2017-11-20 11:33 采纳率: 50%
浏览 878

Java获取不到docx文档里某些部分的内容。

我在解析doc和docx的时候遇到一些问题,不知道大家是如何解决的。
不管doc还是docx,鼠标点在某一块,出现右边这一排东西的时候:
如图:图片说明
Java就获取不到里面的内容。而我用word转换成html的时候这一块地方就会变成图片。
而如果遇到以下这种情况:
如图:图片说明
Java是可以读取到里面的纯文本内容。我换了几种方法,都无法读取到第一种情况的内容。里面是空的。

方法1:

 File inputFile = new File("E:\\aaa.docx");
POITextExtractor extractor = ExtractorFactory.createExtractor(inputFile);
System.out.println(extractor.getText());

输出是空的。

方法2:

 String result = "";
FileInputStream fis = new FileInputStream(file);
XWPFDocument xdoc = new XWPFDocument(fis);
XWPFWordExtractor extractor = new XWPFWordExtractor(xdoc);
result = extractor.getText();
fis.close();
System.out.println(result);

输出还是空的。

方法3:

 String result = "";
FileInputStream fis = new FileInputStream(file);

WordExtractor ex = new WordExtractor(fis);
result = ex.getText().trim();
fis.close();
System.out.println(result);

这是报错的,好像这是读取doc的而非读取docx的吧。

方法4:

 try {
        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file), encode));
            String str = "";
            StringBuffer sb = new StringBuffer();
            while (null != (str = br.readLine())) {
                sb.append("\n");
                sb.append(str);
            }
            br.close();
            return sb.toString();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

这个我换了很多种编码,都是乱码。我不知道到底他的编码格式到底是什么。

我已经把

 Charset.availableCharsets().keySet();

里面的所有编码都用一遍了。一直到解析得我的eclipse卡到闪退,都没发现什么编码是对的。。。。
其中我见到最多出现的就是 [Content_Types].xml ,但是不知道这啥意思。
如图:图片说明

请各位大神帮个忙,如何把图一里面的内容正确获取出来。谢谢了。

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 本题的答案是不是有问题
    • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
    • ¥15 C++使用Gunplot
    • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
    • ¥15 matlab数字图像处理频率域滤波
    • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
    • ¥15 ELGamal和paillier计算效率谁快?
    • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题
    • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
    • ¥15 Arcgis相交分析无法绘制一个或多个图形