3

お客様が用意したMsWord.docx形式のコンテンツがいくつかあります。これらのドキュメントには、方程式、画像などが含まれている場合があります。

これらのコンテンツをWeb環境に転送したいと思います。

まず、TinyMCEの「Wordから貼り付け」プラグインとfmathエディタープラグインを使用する予定です。役に立たない...

次に、アップロードボタンを配置して、msワードのコンテンツを転送し、結果のWebコンテンツをTinyMCEエディターに表示することにしました。実際には、新しいプラグインを作成するようなものです。

Microsoft.Office.Interop.Word.Documentクラスの「名前を付けて保存」メソッドを使用しています。しかし、私には次の問題があります。

1)ドキュメントリソースフォルダのパスを変更できません。生成されたhtmlファイルと同じ「..._files」フォルダを生成します。すべてのリソースをサーバー上の適切な場所に転送したいと思います。

2)画像ソースパスを絶対パスとして変更できません。

3)ガベージスタイルが多すぎる、生成されたhtmlファイルのコード。

私はこの目的を達成するために完全に間違った方法であるかもしれません。それで、この方向に進む前に、私はあなたのアドバイスを得ることにしました。私はどんな提案も開いています。

よろしく、

このコードのドラフトバージョンを追加しています:



    var fileName = Request["docfilename"];
    var file = Request.Files[0];
    var buffer = new byte[file.ContentLength];
    file.InputStream.Read(buffer, 0, file.ContentLength);
    var root = HttpContext.Current.Server.MapPath(@"~/saveddata/_temp/");
    var path = Path.Combine(root, fileName);

    using (var fs = new FileStream(path, FileMode.Create))
    {
        using (var br = new BinaryWriter(fs))
        {
            br.Write(buffer);
        }
    }


    Microsoft.Office.Interop.Word.ApplicationClass oWord = new ApplicationClass();
    object missing = System.Reflection.Missing.Value;
    object isVisible = false;
    word.Document oDoc;
    object filename = path;
    object saveFile;
    oDoc = oWord.Documents.Open(ref filename, ref missing, ref missing, ref missing,
     ref missing, ref missing, ref missing, ref missing,
     ref missing,ref missing, ref missing, ref missing, ref missing, ref missing,
                        ref missing, ref missing);
    oDoc.Activate();

    object path2 = Path.Combine(root, "test.html");
    object fileFormat = word.WdSaveFormat.wdFormatFilteredHTML;
    oDoc.SaveAs(ref path2, ref fileFormat, missing, missing, missing, missing, missing, missing,
                missing, missing, missing, missing, missing, missing, missing, missing);

    oDoc.Close(ref missing, ref missing, ref missing);
    oWord.Application.Quit(ref missing, ref missing, ref missing);

4

1 に答える 1

1

これはデリケートな問題です。ドキュメントには多くのスタイルタグがあるため、同じ問題に直面していました。気づいた場合は、Facebook で URL (word doc コンテンツを含む) を共有してみてください。次に、URL の説明/概要で、不要なタグが表示されていました :) それで、問題はそこでも持続していると思います。情報検索の基本を確認し、スタイル タグを賢く削除することをお勧めします。ほとんどのストリッピング コードを正規表現で記述する必要があります。

于 2013-03-19T08:38:51.183 に答える