2017-07-27 23 views
0

Word文書をHTMLに変換しようとしています。私はApache POIを使用していますが、MS Word独自のhtml保存メソッドと同じように混乱を招きます。私が欲しいのはhttps://html-cleaner.com/のようなものです。
たとえば、テーブルを変換しようとすると、幅プロパティやその他のものは必要ありません。ほんの少し素敵な<td><tr>タグは多分<b>とタグしています。Apache POIスタイルや不要なタグなしでHtmlを整理するWord

誰でもこれを達成する方法を知っていますか?ところで、私はApache POIを使用することを余儀なくされていません.Html変換をクリーンアップするWordを実現する他のJava APIを知っていれば、私はあなたのアドバイスを公開しています。

+0

'文書内の各IBodyElementについて。 getBodyElements() ':BodyElementType.PARAGRAPHの場合、段落のテキスト「

」を出力します+ "

"そうでなければ 'BodyElementType.TABLE'であれば" "を出力します。 'table.getRows()'の各行に対して: ""を出力します。 row.getTableCells()の各セルについて、 "​​"を出力します。 'cell.getParagraphs()'の各段落について: "

" +段落のテキスト+ "

"を出力します。終了セルで ""を発します。次のセル。終了行で ""を発します。次の行終了テーブルで "
"を発します。次の 'IBodyElement'。 –

+0

Apache Tikaで試しましたか?それはあなたにシンプルでクリーンなHTMLを与えるはずですが、Apache POIによって内部的に動かされますが、カスタムレンダリングでは – Gagravarr

+0

@AxelRichterは私の最悪の場合の計画です。私はもっ​​と簡単な方法を探しています –

答えて

0

回答へのコメントの促進.... Apache Tikaを見てください。アパッチティカは、Apache POIを搭載し、私はあなたがApache Tika example for parsing to XHTMLに従っている場合、あなたが

後にしているものだと思うきれいな、意味的に意味のあるHTMLを与えることを目指している、あなたのような何かをしたい:

public String parseToHTML() throws IOException, SAXException, TikaException { 
    ContentHandler handler = new ToXMLContentHandler(); 

    AutoDetectParser parser = new AutoDetectParser(); 
    Metadata metadata = new Metadata(); 
    try (InputStream stream = ContentHandlerExample.class.getResourceAsStream("test.doc")) { 
    parser.parse(stream, handler, metadata); 
    return handler.toString(); 
    } 
} 

さらに、テストのために、を使用して、--xhtmlオプションをファイルと一緒に渡すと、コマンドラインで簡単なXHTMLを返します。

+0

ありがとうGagravarr! –

関連する問題