.rtfd
son sólo paquetes de un TXT.rtf
archivo con instrucciones de formato no estándar, y las imágenes. Así que ya tienes estos y el archivo RTF separado.
Los archivos RTF son solo el texto con algunas instrucciones de formato, similar a HTML. Así que puedes usar simples reemplazos de cadenas basadas en texto.
Una imagen incrustada se ve así en mi documento de muestra:
{{\NeXTGraphic Screen Shot 2012-02-01 at 19.47.21.png \width13940 \height11020
}¬}
En el archivo RTF, cambie todas las apariciones de \NeXTGraphic
a algo como "Imagen:"; el otro formato simplemente se ignorará cuando lo abra la próxima vez (al menos en mis pruebas limitadas).
Un hipervínculo incrustado se ve así:
{\field{\*\fldinst{HYPERLINK "http://superuser.com/questions/384862/osx-converting-rtfd-files-to-txt-without-deleting-hyperlinks-and-pictures"}}{\fldrslt applescript - OSX: Converting rtfd files to txt, without deleting hyperlinks and pictures - Super User}}\
\
}
Nuevamente, se trata de un reemplazo de texto bastante simple que puede hacer en la mayoría de los editores que elija, o, por ejemplo, utilizando sed
en la linea de comando fldinst
es la URL del hipervínculo subyacente, fldrslt
es la etiqueta
Una vez que haya reemplazado todas las imágenes e hipervínculos por alternativas compatibles de texto plano, simplemente puede ejecutar textutil -convert txt Document.rtfd/TXT.rtf
para convertir el archivo RTF a texto plano.
Si no hubiera hecho los reemplazos de la imagen incrustada y los hipervínculos de antemano, estos se habrían perdido.
Por supuesto, textutil
Puede convertir a HTML y archivos de imagen sin perder información. Si te sientes más cómodo escribiendo los reemplazos de las etiquetas HTML, puedes hacerlo primero.