MicrosoftはOfficeファイルのバイナリ仕様を公開しました。 .Docからテキストを抽出する必要があります。このページはDocからテキストを抽出するのが難しくないが、私はそれに従わないことを暗示しているようだ。Wordからテキストを抽出するDocバイナリ
これは私がこれまで持っているものです。
wIdentとwFibの値が間違っています。正しい方向に私を指差してください。
UInt16 wIdent; // (2 bytes): An unsigned integer that specifies that this is a Word Binary File. This value MUST be 0xA5EC.
UInt16 wFib; // (2 bytes): An unsigned integer that specifies the version number of the file format used. Superseded by FibRgCswNew.nFibNew if it is present. This value SHOULD<13> be 0x00C1.
using (FileStream fs = File.OpenRead(fileName))
{
UTF8Encoding utf8 = new UTF8Encoding(true);
BinaryReader brFile = new BinaryReader(fs);
wIdent = brFile.ReadUInt16();
Debug.WriteLine(wIdent.ToString());
Debug.WriteLine(String.Format("{0:x}", wIdent)); // cfd0 wrong value
wFib = brFile.ReadUInt16();
Debug.WriteLine(wFib.ToString()); // 57361 wrong value
byte[] b = new byte[1024];
while (brFile.Read(b, 0, b.Length) > 0)
{
Debug.WriteLine(utf8.GetString(b));
}
}
上記のほとんどのテキストが表示されますが、他にも多くのものがあります。
私はdocxをOpenXML経由で使用しています。セミフォーマットが必要なiFilter以上のものが必要です。関心のない文書を抽出するために、テキストに対してアルゴリズムを実行します。ドキュメントのクイックテキストにも使用されるため、ファイルをダウンロードするかどうかや自動コーディングを決定できます。
Office Interopはオプションではありません。これはサーバー用であり、Microsoftはその環境でOfficeオートメーションを推奨しません。私たちは試みましたが、処理する必要のある文書の量が安定していません。
ファイルを変換することはできませんので、ファイルを変換するオプションはありません。あなたが提示した他のオプションについても見ていきます。そのmsdnページでは簡単に見えましたが、もう一度最初のオフセットで読むことさえできませんでした。 – Paparazzi
Aposeサイトでは、WPFではなくASP.NETとWinフォームが表示されます。彼らはWPFをサポートしていませんか?ファイル変換はUIではないので不思議そうです。 – Paparazzi
私はそれがUIと関係がないとは思わない。私はAposeをUIなしでクラスライブラリに使用しました。 – Jeremy