Apache POI извлекает гиперссылки из текстового документа - PullRequest
0 голосов
/ 24 октября 2011

Кто-нибудь знает, как извлечь ссылки из текстовых документов, используя Apache POI?Или еще лучше из абзаца?

1 Ответ

3 голосов
/ 02 мая 2012

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();
} 
...