![Нужна базовая помощь по извлечению и последующей записи заголовков в .wmf из .rtf](https://rvso.com/image/1585788/%D0%9D%D1%83%D0%B6%D0%BD%D0%B0%20%D0%B1%D0%B0%D0%B7%D0%BE%D0%B2%D0%B0%D1%8F%20%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%20%D0%BF%D0%BE%20%D0%B8%D0%B7%D0%B2%D0%BB%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D1%8E%20%D0%B8%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D1%83%D1%8E%D1%89%D0%B5%D0%B9%20%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B8%20%D0%B7%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BA%D0%BE%D0%B2%20%D0%B2%20.wmf%20%D0%B8%D0%B7%20.rtf.png)
Задача:
У меня есть сотни двоичных файлов rtf с тысячами файлов wmf, поэтому ^c для этих картинок в rtfs, затем, затем ^v в графической программе (например, IrfanView) работает, но это займет месяцы.
С помощью скриптов Autohotkey я теоретически могу открыть двоичные файлы rtf и теоретически могу извлечь части {\pic ...} (я думаю, без открывающих "{" и закрывающих "}") для каждой такой картинки, затем поместить необходимые заголовки перед оставшимися строками картинок (чтобы сделать их допустимыми "Placeable wmf files"), а затем сохранить эти "должным образом заполненные" строки как файлы, которые затем можно открыть в какой-нибудь графической программе (например, IrfanView) или пакетно преобразовать их обратно в jpg (это простая часть, поскольку для этого есть инструменты; в первом случае они все были в формате jpg и были преобразованы в wmf программой rtf при импорте).
Проблемы:
Мне нужно знать, что именно является строкой, которая должна быть извлечена как основные данные изображения. Что я получаю, так это
{\pict\wmetafile8\picw23492\pich13227\picwgoal13318\pichgoal7499 010009000003c8290a000000b2290a000000050000000b0200000000050000000c02ab33c45bb2 290a00430f2000cc000000f401780300000000ab33c45b000000002800000078030000f4010000 010018000000000020531400c40e0000c40e0000000000000000000001e1a1 несколько миллионов подобных символов здесь, затем: 3b68761a77b52a77d530300000000000}
Поэтому я полагаю, что мне нужно удалить «{» перед и «}» после, а затем поместить допустимый заголовок перед оставшейся строкой.
Я не знаю, что это за заголовок, веб-информация для меня слишком сложна, и в любом случае, я полагаю, что этот заголовок будет идентичен для любого такого конечного файла изображения?
В качестве альтернативы мне нужно было бы прочитать эти значения из \wmetafile8\picw23492\pich13227\picwgoal13318\pichgoal7499, затем удалить эту подстроку, а затем записать соответствующий заголовок по отдельности, принимая во внимание эти значения?
Кроме того, вышеприведенное, очевидно, не является шестнадцатеричным представлением, хотя и говорится, что такие картинки wmf в rtf находятся в шестнадцатеричном «формате»; в шестнадцатеричном редакторе я вижу оба представления, поэтому полагаю, что должен знать, что удалить, а что добавить, в читаемом формате (ANSI) выше, прежде чем снова преобразовывать все это в шестнадцатеричный?
Кроме того, у меня есть сомнения по поводу необходимых позиций (шестнадцатеричных) символов, так как в шестнадцатеричных редакторах из-за того, что я отбросил все строки до начала информации о картинке, между \infos «сверху» и «реальным» кодом описания картинки wmf образовался пробел.
Программа rtf имеет функции экспорта в обычный текст и в html; в обоих результатах изображения или их кодовые строки не отображаются, поэтому решения здесь нет.
Не существует (ни коммерческого, ни бесплатного) инструмента для извлечения строк wmf, не говоря уже о том, чтобы они затем создавали необходимые заголовки, чтобы сделать эти строки полноценными файлами.
Теоретически могут существовать инструменты или процедуры, которые просто берут указанные выше строки wmf (без добавленных заголовков) и преобразуют их в допустимые файлы jpg (с заголовками); если бы такие были доступны, мне не пришлось бы получать промежуточные автономные файлы wmf.
Я пытался (частично) решить эти проблемы в течение примерно 15 часов, читая и пытаясь (я также пытался анализировать заголовки wmf-файлов из Интернета, но тщетно), поэтому я надеюсь получить здесь дополнительную информацию, даже для частичных проблем.