java - 使用 JAVA 将 .docx 转换为 HTML

标签 java apache-tika

我尝试使用 WordToHtmlConverter 将 .doc 转换为 HTML,并且效果很好。

但是当我尝试将 .docx 转换为 HTML 时,我遇到了困难。

我尝试了什么:

我使用以下代码将 .docx 转换为 HTML:

我试过的代码:How to use Tika's XWPFWordExtractorDecorator class?

        InputStream input = TikaInputStream.get(new File("C:\\Users\\Downloads\\filename.docx"));


        Parser parser = new AutoDetectParser();


        StringWriter sw = new StringWriter();
        SAXTransformerFactory factory = (SAXTransformerFactory)
                 SAXTransformerFactory.newInstance();
        TransformerHandler handler = factory.newTransformerHandler();
        handler.getTransformer().setOutputProperty(OutputKeys.METHOD, "html");
        handler.getTransformer().setOutputProperty(OutputKeys.INDENT, "yes");
        handler.setResult(new StreamResult(sw));


        try {
            Metadata metadata = new Metadata();
            parser.parse(input, handler, metadata, new ParseContext());
            String xml = sw.toString();
            System.out.print("tika : "+xml); 
        } finally {
            input.close();
        }

我得到的输出是,

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title/>
</head>
<body/>
</html>
  • 请解释我哪里出错了?
  • 有没有更好的办法把.docx转成html字符串

感谢您的帮助,谢谢

最佳答案

这段代码对我有用,可以将 .docx 转换为 html:

您还可以查看链接:Link to code

       //convert .docx to HTML string
        InputStream in= new FileInputStream(new File(path));
        XWPFDocument document = new XWPFDocument(in);


        XHTMLOptions options = XHTMLOptions.create().URIResolver(new FileURIResolver(new File("word/media")));

        OutputStream out = new ByteArrayOutputStream();


        XHTMLConverter.getInstance().convert(document, out, options);
        String html=out.toString();
        System.out.println(html);

关于java - 使用 JAVA 将 .docx 转换为 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24652953/

相关文章:

apache-tika - 使用 tika 自定义 xpath 表达式

java - 从字节数组中编码字符串问题

Java nio 连接正在创建多个套接字级连接,为什么?

java - 我无法理解对象引用在 Java 中的工作方式?

java - 如何添加自定义 MIME 类型并覆盖默认扩展模式?

Solr ExtractingRequestHandler 在链接中提取 "rect"

java - 使用java查找wma文件的mime类型

java - javadoc 在 `Class.getDeclaredMethod` 上的混淆

java - 为什么我的属性值没有打印?

编译android项目时Java堆空间错误