.rtfd
- это просто пакеты файла TXT.rtf
с нестандартными инструкциями по форматированию и изображениями. Таким образом, у вас уже есть эти и RTF-файл отдельно.
RTF-файлы - это просто текст с инструкциями по форматированию, похожий на HTML. Таким образом, вы можете использовать простые текстовые замены строк.
Встроенное изображение выглядит следующим образом в моем образце документа:
{{\NeXTGraphic Screen Shot 2012-02-01 at 19.47.21.png \width13940 \height11020
}¬}
В файле RTF измените все вхождения \NeXTGraphic
на что-то вроде «Изображение:»; другое форматирование будет просто проигнорировано, когда вы откроете его в следующий раз (по крайней мере, в моем ограниченном тестировании).
Встроенная гиперссылка выглядит так:
{\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}}\
\
}
Опять же, довольно простая замена текста, которую вы можете сделать в большинстве редакторов по вашему выбору, или, например, используя sed
в командной строке. fldinst
- это базовый URL-адрес гиперссылки, fldrslt
- это метка.
После того, как вы заменили все изображения и гиперссылки альтернативами, совместимыми с простым текстом, вы можете просто запустить textutil -convert txt Document.rtfd/TXT.rtf
для преобразования файла RTF в простой текст.
Если бы вы не делали замены встроенных изображений и гиперссылок заранее, они были бы потеряны.
Конечно, textutil
может конвертировать в HTML и графические файлы без потери информации. Если вам удобнее создавать сценарии замены тегов HTML, вы можете сделать это в первую очередь.