2011-10-24 21 views

答えて

3

のWord 2003およびそれ以降:

//Links extractor 
StringBuffer text = null; 
try { 
    FileInputStream fis = new FileInputStream(new File("YOUR_DOCX_FULL_PATH_HERE)); 
    XWPFDocument document = new XWPFDocument(fis); 
    text = new StringBuffer(); 

    // First up, all our paragraph based text 
    Iterator<XWPFParagraph> i = document.getParagraphsIterator(); 
    while(i.hasNext()) { 
     XWPFParagraph paragraph = i.next(); 

     // Do the paragraph text 
     for(XWPFRun run : paragraph.getRuns()) { 

      if(run instanceof XWPFHyperlinkRun) { 
       text.append(run.toString()); 
       bean.setName(run.toString()); 
       XWPFHyperlink link = ((XWPFHyperlinkRun)run).getHyperlink(document); 
       if(link != null) { 
        text.append(" <" + link.getURL() + ">"); 
       } 
      } 
     } 
    } 
} catch (Exception e) { 
    e.printStackTrace(); 
} 
+0

XWFP/XSSF/XSLFインスタンスは、ファイルがあればInputStreamから開かないようにするのが一般的です。ロット全体をメモリにバッファリングする必要があるからです。 Fileを介して直接開くほうがずっと良い – Gagravarr

関連する問題