RTF到纯文本翻译器

大约一年前,我四处寻找将RTF(富文本格式)文件转换为纯文本的方法我忘记了为什么我想这样做,但我最终找不到合适的解决方案Most surprisingly, there don’t seem to be any Perl modules on CPAN that can do this; there are a与RTF有关(例如创建从头开始的RTF文件),但没有一个只是将RTF文件作为输入并吐出纯文本翻译。

上周,我正在使用FileMerge,这是Apple开发者工具中包含的文本文件比较应用程序在FileMerge的首选项中,您可以创建命令行过滤器以在比较它们之前预处理某些文件例如,默认的prefs有一个过滤器,用于通过发送Project Builder“.pbproj”文件/开发/工具/ pbprojectdumpFileMerge比较它们之前的工具。

最有趣的是RTF文件的默认设置 - 它们通过带路径的过滤器发送$(APP)/ convertRichTextToAscii$(APP)“部分显然是对FileMerge应用程序包中的Resources文件夹的特殊引用如果您在FileMerge.app包中打开终端窗口并进行cd,则可以在此处找到convertRichTextToAscii工具:

/Developer/Applications/FileMerge.app/Contents/Resources/convertRichTextToAscii

它很棒我没有彻底测试它,但它对我和Word和TextEdit生成的RTF文件都很有效调用它有点笨拙,长路径和长名称,但你可以复制并重命名,或设置符号链接像“rtf2text”这样的东西会是一个更好的名字。

为了在BBEdit中使用它,我创建了以下shell过滤器,我将其命名为“RTF to Text”并保存在“BBEdit Support”文件夹中的“Unix Filters”文件夹中:

#!/bin/sh
/Developer/Applications/FileMerge.app/Contents/Resources/convertRichTextToAscii "$1"

注意:convertRichTextToAscii工具实际上并不将RTF转换为ASCII- 它转换为UTF-8这是一件好事,因为从技术上讲,ASCII字符集只包含128个字符但是,如果您正在使用BBEdit 7,请确保在BBEdit的Unix Scripting prefs面板中打开“将UTF-8发送到Perl和Unix脚本的解释器”复选框。

以前: 砸死
下一个: 关于iTunes 4的观察