2011-01-28 6 views
15

これも可能かどうか疑問に思います。私はGoogle上でソリューションを探してきて、私がそれをしたいと思う方法で動作するものは何も出てこない。docxをクリーンなHTMLにバッチ変換する

私は、それが何を伴うのかを説明することが恩恵だと思います。私は大学のIT部門のデータベースグループに勤めています。私の主な仕事は、docxファイルでレポートの仕様を取り、それをDreamweaverにコピーし、書式を修正し、ウェブサイトに貼り付けることです。私の問題は、何度も何度もやり直すのが面倒だということです。私は、ちょっと、C#で何か書いていないと思っていました。おそらく、docxファイルを取得し、HTMLに変換し、CSSを修正し、ヘッダーとフッターをそこのWebページから貼り付けるアプリケーションを書くことができました、結果を保存します。もともと私はそれを一つずつ行うつもりでしたが、ファイルリストとバッチ変換を入力するのは難しくありません。

これを達成する方法については、これらの関連トピックがありますが、私のニーズに十分に適合していません。

http://www.techrepublic.com/blog/howdoi/how-do-i-modify-word-documents-using-c/190

これはおそらく、いくつかの文書のための罰金ですが、それだけでWordのインスタンスを自動化することですので、それが遅いとメモリ集中的になるだろうと同じように、私は感じています。私はWord 50 +のインスタンスを開いたり閉じたりしない方が好きです。

http://openxmldeveloper.org/articles/333.aspx

これは、私が使用して開始したものです。 XSLTには、各ファイルのインストールや実行が必要ないという利点がありました。いくつかの検索の後、私は概念実証の証明を得ました。それはdocxファイルを取り込み、解凍し、そこからdocument.xmlを取得し、OpenXMLビューアから掃除したDocX2Html.xslファイルを使用します。私はそれがもともとMSがブラウザでワードドキュメントをレンダリングする機能を提供するためにSharePointサーバを提供していたと考えています。あるいは、それらの行に沿った何か。

私のニーズに合わせて、objXSLT.Load()メソッドで問題が発生するように調整した後、IlMergeを使用してXSLをDLLにしました。普通の古いXSLファイルを使用しているのにコンパイルエラーが発生したのはなぜか分かりませんが、DLLは正常に動作していたので満足しました。ここ(http://pastebin.com/a5HBAakJ)は私の現在のコードです。それはdocxをHTMLに変換する仕事をしますが(いくつかの単語の間のランダムなスペースを除いて)、結果ファイルには馬鹿げたHTML構文があります。この怪獣の例はここにあります(http://pastebin.com/b8sPGmFE)。

私はこれをどのように修正できるか知っていますか?私はおそらく私は新しいXSLファイルを作る必要があると思っています。一つのMSが提供しているのは、そこにすべてのタグと余分なコードを貼り付ける責任があるからです。私の問題はそれをどうやって行うのか分からないことです。おそらくそこには別のバージョンが既に存在するでしょう。私が必要とするのは、テーブルとテキストの書式を保持するものだけです。画像は必要ありません。

+0

あなたは手作業でやっているプロセスだと言いますが、メモリを大量に消費するWordオートメーションソリューションは満足できません。どうして?これを商用製品として販売していないのであれば、そのソリューションの有効性はなぜ重要なのでしょうか?手間のかかる手作業を自動化して、1文書につき1分かかると気になりますが、まだまだ速くなります。 – Keith

+0

実際、私は市販品として販売していません。しかし、私は同僚と共有しようと思っており、効率的なプログラムを提供したいと思っています。私のパーソナルコンピュータは、現代的で、そのようなものを扱うための仕様まであるかもしれませんが、私は彼らがそれをどのように扱うかについて全く知らない。別の問題は、Wordへの依存です。私は彼らがすべてコピーを所有していると仮定していますが、それは単なる仮定です。私は、それらのプログラムを実行するコンピュータに関係なく効率的に動作するプログラムを提供したいと思います。 – Omega192

答えて

6

これは、あなたが必要なものだけのように見えます:エリック・ホワイトはそのツールを開発し、彼の経験についてブログhttp://msdn.microsoft.com/en-us/library/ff628051(v=office.14).aspx

著者。あなたはここに彼のブログの記事の一覧を見ることができます:http://blogs.msdn.com/b/ericwhite/archive/2008/10/20/eric-white-s-blog-s-table-of-contents.aspx#Open_XML_to_XHtml

+0

ああ。私は本当に私の検索の中でこれを見つけられなかったのか分かりません。私はdocxをHTMLではなくOpen XML/WordprocessingMLからXHTMLへと探していたと思います。私はまだこれを実装する機会はありませんでしたが、私が探しているもののように見えます。どうもありがとうございました! :D – Omega192

+1

優秀!一度このプログラムを完成させたら、これがうまくいくかどうか聞いてみたいと思う人は多いでしょう。たぶん、プログラムを完成させたら、どこか何かにソースコードを投稿することができます。がんばろう! –

+0

私は間違いなくそれを念頭に置いています:] – Omega192

2

私は、/プロセスWord文書を作成するために、市販のライブラリーAspose.Wordsの大ファンだので、私は同じような何かをするだろう:

  1. Open the Word document with Aspose.Words
  2. Save the Word document as HTML
  3. 望ましくないHTMLタグ/属性を削除するには、SgmlReaderまたはHTML Agility Pack(または適切であればRegular Expressions)のようなものを使用します。

あなたは大学で働いていると書いていたので、商用パッケージがオプションであるかどうかはわかりません。

+1

ええ、私はいくつかの商用ソリューションを紹介しましたが、Aspose.Wordsは特にありませんでした。これは私の同僚や自分自身を助けるためにやっている個人的なプロジェクトなので、$ 0の大学生予算に頼っています:P 私の質問に答える時間がありがとう、ありがとう! – Omega192

2

ルールが自分のソリューションを宣伝する上でどのようなものなのかよくわからないので、私がラインを外れているかどうか教えてください。

私は同じ問題を持っていたウェブ開発者ですので、私は私の独自のツールを作成しました:我々はまた、あなたができるより良い変換品質とワンクリック変換などがあります新しいバージョンに取り組んでいる http://www.convertwordtohtml.com

を単語ファイルを右クリックすると、htmlに直接変換され、コードはクリップボードに配置されます。現在のバージョンはコマンドラインアクセスもサポートしています。新しいバージョンにはサーバーバージョンがあります。

サイトから無料試用版がダウンロードできます。質問がある場合はいつでも私に連絡してください。

+1

私はかなりそれが完全に受け入れられると確信しています。 あなたは非常に素晴らしいソフトウェアを作ったようですが、残念ながらライセンスを購入するお金はありません。しかし、あなたのポストをありがとう! – Omega192

関連する問題