將 rtfd 檔案轉換為 txt,而不刪除 OS X 中的超連結和圖片

將 rtfd 檔案轉換為 txt,而不刪除 OS X 中的超連結和圖片

我有很多我想將 rtf 和 rtfd 檔案(>10k ...這不能手動完成)轉換為 txt 檔案。不幸的是,它們包含我不想丟失的圖片和超連結。理想情況下,我想:

  1. 將來自 rtf/rtfd 的超連結儲存為純文字(類似[[description]link]

  2. 將所有圖片與 rtfd 檔案“分開”

  3. 將帶有 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 標記替換的腳本,則可以先執行此操作。

相關內容