私は持っているたくさん(>10k ... これは手動ではできません) の rtf および rtfd ファイルを txt ファイルに変換したいと考えています。残念ながら、それらには失いたくない画像とハイパーリンクが含まれています。理想的には、次の操作を実行したいと思います。
rtf/rtfd からのハイパーリンクをプレーンテキストとして保存します ( のようなもの
[[description]link]
)すべての画像をrtfdファイルから「分離」する
URL を含む新しい txt と、rtf/rtfd ファイルからの画像が、古い rtf/rtfd ファイルの名前の付いたフォルダーに一緒に保存されます。
これはどうすればできるのでしょうか?
答え1
.rtfd
TXT.rtf
これらは、非標準のフォーマット指示と画像を含むファイルの単なるバンドルです。したがって、これらと RTF ファイルは既に別々に存在します。
RTF ファイルは、HTML と同様に、いくつかの書式指定を含むテキストです。そのため、単純なテキスト ベースの文字列置換を使用できます。
埋め込まれた画像は、サンプル ドキュメントでは次のようになります。
{{\NeXTGraphic Screen Shot 2012-02-01 at 19.47.21.png \width13940 \height11020
}¬}
RTF ファイルでは、 のすべての出現箇所を\NeXTGraphic
「Image:」などに変更します。次にファイルを開いたときに、他の書式は単に無視されます (少なくとも私の限られたテストでは)。
埋め込まれたハイパーリンクは次のようになります。
{\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 タグの置換をスクリプト化することに慣れている場合は、最初にこれを実行できます。