6

HTML (CK Editor から) を MS Word に変換しようとしています:

wordDoc = new ActiveXObject("Word.Application");

ただし、結果には、Word 文書内のすべての HTML タグ ( span、 など) が表示されます。strong

どうすればこの問題を解決できますか?

4

5 に答える 5

0

Pandocでは、(他の多くの形式の中でも) html ドキュメントと word ドキュメント間の変換が可能です。Pandoc は haskel ライブラリですが、すべてのプラットフォームにバンドルされたインストーラーがあります。ドキュメントを変換するには、このコマンドを使用する必要があります。

pandoc -o file.doc file.html
于 2013-05-24T03:00:50.990 に答える
0

私が想像できるのは、次の手順のようなものです。

  1. HTML を OpenXML に変換し、
  2. 次に、Word文書の構造に対応するファイルを作成し、
  3. docx に圧縮します。
于 2013-05-24T03:32:57.207 に答える
0

あなたの質問によると、HTML から Word へのすべてのスタイル (Css 適用) が必要であることを理解しています。

私はそのようなrequirenmnetを持っており、コードの下に実装していましたが、それは私にとって完全に機能します。以下のコードを確認してください

ここで、GridView から Word ファイルを作成し、そのグリッドにスタイルを適用しました。ブラウザに表示されるのと同じグリッドを Word ファイルに作成します。作業のスタイル (css) 関連タグのみを変更する必要があります。

Protected Sub CreateHTMlToWord()
        Try

            Dim sHtml As New StringBuilder
            Dim htmlForm As New HtmlForm
            grdHTMLData.GridLines = GridLines.Both 'Grid View Fill with data

            Response.ClearContent()
            Response.AddHeader("content-disposition", "attachment; filename=estPage.doc")
            Response.ContentType = "application/vnd.doc"

            Dim str As New IO.StringWriter
            Dim htex As New HtmlTextWriter(str)
            htmlForm.Controls.Add(grdHTMLData)
            htmlForm.EnableViewState = False
            Me.Controls.Add(htmlForm)
            htmlForm.RenderControl(htex)

            sHtml.Append("<html>")
            sHtml.Append("<head>")
            sHtml.Append("<style type='text/css'>")
            sHtml.Append(".mGrid{width: 100%; background-color: #F8FCFE; margin: 5px 0 10px 0; border-collapse: collapse;}")
            sHtml.Append(".mGrid td{ padding: 2px; color: black;} .mGrid td a:link{ color: #000;}")
            sHtml.Append(".mGrid th{ padding: 4px 2px; color: #fff; background: #4A7298; font-size: 0.9em;}")
            sHtml.Append(".mGrid th a:link{ color: #fff; font-weight: bold;} .mGrid .alt{ background-color: #E1EEF7;}")
            sHtml.Append(".mGrid .pgr{ background: #E1EEF7;} .mGrid .pgr table{ margin: 5px 0;}")
            sHtml.Append(".mGrid .pgr td span{ border-width: 0; font-weight: bold; color: #666; line-height: 12px;}")
            sHtml.Append(".mGrid .pgr td a{ color: #666;} .mGrid .pgr td a:link{ color: #4A7298; padding: 0 5px; text-decoration: underline;}")
            sHtml.Append(".mGrid .pgr td a:active{ text-decoration: none; font-weight: bold;}")
            sHtml.Append(".mGrid .pgr td a:hover{ color: #fff; background-color: #4A7298; text-decoration: none;} .mGrid a:hover{ text-decoration: underline;}")
            sHtml.Append(".mGridHdr th{ text-align: left;}")
            sHtml.Append("</style>")
            sHtml.Append("</head>")
            sHtml.Append("<body>")
            sHtml.Append(str.ToString)
            sHtml.Append("</body>")
            sHtml.Append("</html>")

            Response.Write(sHtml.ToString)
            Response.Flush()
            Response.Close()

        Catch ex As Exception

        End Try
    End Sub
于 2013-05-23T11:21:52.827 に答える