2012-01-05 7 views
0

Word Interop adn C#を使用して作業中のプログラムを作成していて、その中の機能の1つが語数を取得しています。c#interopを使用してワードドキュメントから書式を取得する

これは、私が職場で使用されているCATトールの単語数をエミュレートする必要があるため、これはワード数ではありません。

私が見つけた問題の1つは、CATツールがテキストフォーマットを使用して単語を分割することです。つまり、最初にstを上書きした単語がある場合、単語は1単語(2つの単語が分かれることはないため)をカウントし、CATツールはテキスト形式の変更ごとに2語をカウントします。

CATツールは形式の変更を追跡しており、その情報が単語を壊すことがあります。

単語ごと、文字ごとに移動し、可能性(フォント、太字、斜体など)をすべて確認することはできますが、それはそれぞれ1000語の複数の文書では動作が遅くなります。

もっと良い解決法を知っている人はいますか? MSDNフォーラムから

+0

ドキュメントに適用されているさまざまなスタイルを確認できますか? –

+0

Word-docまたはdocxのどのバージョンですか? docxの場合は、xmlの解析を試すことができます。 – sq33G

+0

Interopは必須ですか? – Yahia

答えて

2

まあシンディはこの1つ

http://social.msdn.microsoft.com/Forums/en-US/worddev/thread/16fc1fb9-4713-45e5-ae00-76bbaafe0a56

に私に答えを与えた後、私が見たいのアプローチはにコンテンツを抽出するためにDocument.Content.WordOpenXMLを使用することです文字列。コンテンツは、Office Open XMLの "フラットパッケージ"形式になります。つまり、すべてが含まれているはずです。

これで文字列を解析して必要な情報を得ることができます。

このような文字列を見ると、すべてのテキストが要素内にあることがわかります。書式設定がある場合、各書式変更のための1つの部分に分割されます。だから、すべてのw:t要素を抽出するだけでなく、あなたがしなければならないことは、文章中の "単語"を描く句読点やスペースをチェックすることです。

関連する問題