.rtf から .wmf にヘッダーを抽出して書き込むための基本的なヘルプが必要です

.rtf から .wmf にヘッダーを抽出して書き込むための基本的なヘルプが必要です

タスク:

数百のバイナリ RTF ファイルと数千の WMF ファイルがあるので、RTF でこれらの画像に対して ^c を実行し、次にグラフィック プログラム (IrfanView など) で ^v を実行すると機能しますが、数か月かかります。

Autohotkey スクリプトを使用すると、理論的にはバイナリ rtf ファイルを開くことができ、理論的には各画像の {\pic ...} 部分 (開始 "{" と終了 "}" は除く) を抽出し、残りの pic 文字列の前に必要なヘッダーを配置し (有効な "配置可能な wmf ファイル" にするため)、それらの "適切に完了した" 文字列をファイルとして保存し、その後、何らかのグラフィック プログラム (IrfanView など) で開いたり、バッチ変換して jpg に戻したりできます (そのためのツールがあるため、これは簡単です。最初のケースではすべて jpg でしたが、インポート時に rtf プログラムによって wmf に変換されていました)。

問題点:

コア画像データとして取得する必要がある文字列が正確に何であるかを知る必要があります。私が得たのは、

{\pict\wmetafile8\picw23492\pich13227\picwgoal13318\pichgoal7499 010009000003c8290a000000b2290a000000050000000b0200000000050000000c02ab33c45bb2 290a00430f2000cc000000f401780300000000ab33c45b000000002800000078030000f4010000 0100180000000000020531400c40e0000c40e00000000000000000001e1a1 ここに数百万の類似の文字があります。3b68761a77b52a77d53030000000000}

したがって、前の「{」と後の「}」を削除し、残りの文字列の前に有効なヘッダーを配置する必要があると思います。

そのヘッダーが何なのかはわかりません。Web 情報は私にとっては複雑すぎますし、いずれにしても、そのヘッダーは結果として得られる画像ファイルすべてに対して同一になるのでしょうか?

あるいは、\wmetafile8\picw23492\pich13227\picwgoal13318\pichgoal7499 からこれらの値を読み取り、この部分文字列を削除してから、これらの値を考慮してそれぞれのヘッダーを個別に書き込む必要がありますか?

また、上記は明らかに 16 進数表現ではありませんが、rtf 内のこのような wmf 画像は 16 進数の「形式」であると言われています。16 進エディターでは両方の表現が表示されるので、上記の読み取り可能な形式 (Ansi) で何を削除し、何を追加するかを知ってから、すべてを再度 16 進数に変換する必要があると思います。

また、必要な (16 進) 文字の位置についても疑問があります。16 進エディターでは、pic 情報の開始前のすべての文字列を破棄したため、「上部」の \info と「実際の」wmf pic 記述コードの間にギャップがあったためです。

rtf プログラムには、プレーン テキストと html へのエクスポート機能がありますが、どちらの結果でも画像やそのコード文字列は表示されないため、解決策はありません。

wmf 文字列を抽出するツール (商用または無料) は存在しません。ましてや、それらの文字列をそれ自体で有効なファイルにするために必要なヘッダーを作成することなどできません。

理論的には、上記の wmf 文字列 (ヘッダーを追加しない) を取得して、有効な jpg ファイル (ヘッダー付き) に変換するツールまたはルーチンが存在する可能性があります。そのようなツールまたはルーチンが利用できる場合は、中間のスタンドアロン wmf ファイルを取得する必要はありません。

私は約 15 時間、読んだり試したりしてこれらの問題を (部分的に) 解決しようと試みました (Web から wmf ファイル ヘッダーを分析しようとしましたが、失敗しました)。そのため、部分的な問題であっても、ここで追加情報を得られることを期待しています。

関連情報