![Precisa de ajuda básica para extrair e escrever cabeçalhos em .wmf a partir de .rtf](https://rvso.com/image/1585788/Precisa%20de%20ajuda%20b%C3%A1sica%20para%20extrair%20e%20escrever%20cabe%C3%A7alhos%20em%20.wmf%20a%20partir%20de%20.rtf.png)
Tarefa:
Eu tenho centenas de arquivos rtf binários com milhares de arquivos wmf, então ^c para essas fotos no rtfs, então, ^v em um programa gráfico (como o IrfanView) funciona, mas levaria meses.
Pelo script Autohotkey, teoricamente posso abrir os arquivos rtf binários e, teoricamente, posso extrair as partes {\pic ...} (sem abrir "{" e fechar "}" eu acho) para cada uma dessas imagens e, em seguida, colocar o cabeçalhos necessários antes das strings de imagem restantes (para torná-los "arquivos wmf posicionáveis" válidos) e, em seguida, salve essas strings "devidamente concluídas" como arquivos que podem ser abertos em algum programa gráfico (como IrfanView) ou transformá-los em lote voltar ao jpg (essa é a parte fácil, pois existem ferramentas para isso; todos eram jpg no primeiro caso e foram transformados em wmf pelo programa rtf na importação).
Problemas:
Eu precisaria saber qual é exatamente a string que deve ser recuperada como os dados principais da imagem. O que eu entendo é,
{pictwmetafile8picw23492pich13227picwgoal13318pichgoal7499 010009000003c8290a000000b2290a000000050000000b020000000050000000c02ab33c45bb2 90a00430f2000cc000000f401780300000000ab33c45b000000002800000078030000f4010000 01001800000000020531400c40e0000c40e000000000000 000000001e1a1 alguns milhões de caracteres semelhantes aqui, então: 3b68761a77b52a77d53030000000000}
Então, suponho que devo excluir o "{" antes e o "}" depois e, em seguida, colocar um cabeçalho válido antes da string restante.
Não sei qual seria esse cabeçalho, as informações da web são muito complicadas para mim e, de qualquer forma, suponho que esse cabeçalho seria idêntico para qualquer arquivo de imagem resultante.
Alternativamente, eu precisaria ler esses valores de \wmetafile8\picw23492\pich13227\picwgoal13318\pichgoal7499, excluir essa substring e escrever o respectivo cabeçalho individualmente, levando em consideração esses valores?
Além disso, o que foi dito acima obviamente não é uma representação hexadecimal, embora seja dito que tais fotos wmf, dentro do rtf, estão em "formato" hexadecimal; em um editor hexadecimal, vejo ambas as representações, então suponho que devo saber o que excluir e o que adicionar, no formato legível (Ansi) acima, antes de converter tudo para hexadecimal novamente?
Além disso, tenho dúvidas sobre as posições necessárias dos caracteres (hexadecimais), pois nos editores hexadecimais, por ter descartado todas as strings antes do início da informação da foto, havia uma lacuna entre o \infos "no topo" e depois o Código de descrição da imagem wmf "real".
O programa rtf possui funções de exportação para texto simples e para html; em ambos os resultados as imagens ou suas sequências de código não aparecem, portanto não há solução para isso.
Não existe uma ferramenta (comercial ou gratuita) para extrair as strings wmf, muito menos que elas criariam os cabeçalhos necessários para tornar essas strings arquivos válidos por si só.
Teoricamente, pode haver ferramentas ou rotinas que apenas peguem as strings wmf acima (sem cabeçalhos adicionados) e as transformem em arquivos jpg válidos (com cabeçalhos); se estiver disponível, não precisarei obter os arquivos wmf autônomos intermediários.
Tentei (parcialmente) resolver esses problemas por cerca de 15 horas, lendo/tentando (também tentei analisar cabeçalhos de arquivos wmf da web, em vão), então espero obter informações adicionais aqui, mesmo para problemas parciais.