Как использовать класс XWPFWordExtractorDecorator Тики? - PullRequest
1 голос
/ 29 января 2012

Кто-то сказал мне, что класс Tika XWPFWordExtractorDecorator используется для преобразования docx в html. Но я не уверен, как использовать этот класс, чтобы получить HTML из DOCX. Любая другая библиотека для выполнения той же работы также приветствуется /

1 Ответ

4 голосов
/ 29 января 2012

Вы не должны использовать его напрямую

Вместо этого, позвоните Тике обычным способом, и он вызовет соответствующий код для вас

Если вы хотите, чтобы XHTML анализировал файл, код выглядит примерно так:

    // Either of these will work, the latter is recommended
    //InputStream input = new FileInputStream("test.docx");
    InputStream input = TikaInputStream.get(new File("test.docx"));

    // AutoDetect is normally best, unless you know the best parser for the type
    Parser parser = new AutoDetectParser();

    // Handler for indented XHTML
    StringWriter sw = new StringWriter();
    SAXTransformerFactory factory = (SAXTransformerFactory)
             SAXTransformerFactory.newInstance();
    TransformerHandler handler = factory.newTransformerHandler();
    handler.getTransformer().setOutputProperty(OutputKeys.METHOD, "xml");
    handler.getTransformer().setOutputProperty(OutputKeys.INDENT, "yes");
    handler.setResult(new StreamResult(sw));

    // Call the Tika Parser
    try {
        Metadata metadata = new Metadata();
        parser.parse(input, handler, metadata, new ParseContext());
        String xml = sw.toString();
    } finally {
        input.close();
    }
...