0

可能重复:
在 Java 中以编程方式将 Word 文档转换为 HTML

我有一个程序正在获取 .docx 文件并作为 .html 文件打开,但是当转换为 html 时,我得到的只是不可读的字符串。我需要这个文件的 html,因为我需要稍后解析它。当我使用下面的方法打开文件时,我得到不可读的文本,例如:úL]iN?#tBd!?^ý ?e"0©?®??AäúsIp?¸ü?D?ÂÓâ¨\Dâ>½? ?Eâcr&Æl\Fâÿ2qJ?U ??IúK&þIb

    FileInputStream fileInput = null;
    BufferedInputStream myBuffer = null;
    DataInputStream dataInput = null;
    fileInput = new FileInputStream(selectedFile);
    myBuffer = new BufferedInputStream(fileInput);
    dataInput = new DataInputStream(myBuffer);
    StringBuilder nHtmlText = new StringBuilder();
    while (dataInput.available() != 0) {
        System.out.println(dataInput.readLine());
        nHtmlText.append(dataInput.readLine());
    }
    htmlText = nHtmlText.toString();

有没有办法获得一个干净可读的 html 文件来解析和保存它?

4

3 回答 3

1

Docx4j是一个 java 库,可让您打开、读取和操作 docx 文件。我过去已经成功地使用它。

它还能够将文件的内容导出为 HTML。您可以在此处阅读更多信息:http: //www.docx4java.org/svn/docx4j/trunk/docx4j/docs/Docx4j_GettingStarted.html(部分docx to (X)HTML大约在页面的中间)

于 2012-10-28T17:32:59.547 回答
1

不。

您正在阅读 docx 文件的原始内容,这不是 html 而是压缩的 xml - 请参见此处,您需要一些东西来将 docx 转换为 html。两者非常不同。

于 2012-10-28T16:31:51.443 回答
0

如果要将.docx文件转换为,.html则无法直接读取该文件,因为它是二进制文件。您可以为此使用JODConverter。我没有亲自使用过这个,但这个问题几乎与这个问题重复。

于 2012-10-28T16:29:23.140 回答