![需要基本幫助來提取 .rtf 標頭,然後將標頭寫入 .wmf](https://rvso.com/image/1585788/%E9%9C%80%E8%A6%81%E5%9F%BA%E6%9C%AC%E5%B9%AB%E5%8A%A9%E4%BE%86%E6%8F%90%E5%8F%96%20.rtf%20%E6%A8%99%E9%A0%AD%EF%BC%8C%E7%84%B6%E5%BE%8C%E5%B0%87%E6%A8%99%E9%A0%AD%E5%AF%AB%E5%85%A5%20.wmf.png)
任務:
我有數百個二進位 rtf 檔案和數千個 wmf 文件,因此 ^c 用於 rtfs 中的這些圖片,然後,圖形程式(如 IrfanView)中的 ^v 可以工作,但需要幾個月的時間。
透過 Autohotkey 腳本,理論上我可以打開二進位 rtf 文件,理論上我可以為每個這樣的圖片提取 {\pic ...} 部分(我認為沒有打開“{”和關閉“}”),然後將在剩餘的圖片字串之前添加必要的標題(為了使它們有效的“可放置的wmf 文件”),然後將這些“正式完成的”字串保存為文件,然後可以在某些圖形程式(如IrfanView)中開啟或批次轉換它們回到 jpg(這是簡單的部分,因為有相應的工具;在第一種情況下它們都是 jpg,並且在匯入時已被 rtf 程式轉換為 wmf)。
問題:
我需要知道必須作為核心圖片資料檢索的字串到底是什麼。我得到的是,
{\pict\wmetafile8\picw23492\pich13227\picwgoal13318\pichgoal7499 010009000003c8290a000000b2290a00000005002000 290a00430f2000cc000000f401780300000000ab33c45b000000002800000078030000f401000000100180000 0000000001e1a1 這裡有數百萬個相似的字符,然後:3b68761a77b52a77d53030000000000}
所以我想我必須刪除前面的“{”和後面的“}”,然後必須在剩餘的字串之前放置一個有效的標頭。
我不知道該標頭是什麼,網絡資訊對我來說太複雜了,無論如何,我認為該標頭對於任何此類結果圖片文件都是相同的?
或者,我需要從 \wmetafile8\picw23492\pich13227\picwgoal13318\pichgoal7499 讀取這些值,然後刪除此子字串,然後單獨寫入相應的標頭,考慮到這些值?
另外,上面顯然不是十六進位表示,儘管據說rtf內的此類wmf圖片是十六進位「格式」;在十六進位編輯器中,我看到兩種表示形式,所以我想我必須知道要刪除什麼和要添加什麼,以上面的可讀格式(Ansi),然後再將其全部轉換為十六進制?
另外,我對必要的(十六進位)字元位置存有疑問,因為在十六進位編輯器中,由於我在圖片資訊開始之前丟棄了所有字串,因此\infos“在頂部”和“在頂部”之間存在間隙“真實”wmf 圖片描述代碼。
rtf 程式具有純文字和 html 的匯出功能;在這兩個結果中,圖片或其程式碼字串都沒有出現,因此沒有解決方案。
沒有(商業或免費)工具可以提取 wmf 字串,更不用說它們會創建必要的標頭以使這些字串本身成為有效文件。
理論上,可能有一些工具或例程只獲取上述 wmf 字串(不添加標頭)並將它們轉換為有效的 jpg 檔案(帶標頭);如果可用,我就不需要取得中間獨立的 wmf 檔案。
我已經嘗試(部分)解決這些問題大約15個小時,通過閱讀/嘗試(我還嘗試從網絡上分析wmf文件頭,但徒勞),所以我希望在這裡獲得更多信息,即使是部分問題。