我需要能够将RTF或HTML转换为Markdown语法的纯文本,以便上传到我的服务器。我需要在Cocoa / Obj-C 2.0中实现这一点。有谁知道怎么做?
非常感谢 - »Alex。
嗯。在回答Yuji的评论时,我正在尝试制作一个接受文本的NSStatusItem
小滴。文本的格式无关紧要,但我需要能够将其格式化为纯文本或使用Markdown格式化的纯文本。我想因为我不知道我会收到什么样的文字......
答案 0 :(得分:4)
以下是pandoc分析和写入的格式:
> pandoc --help
pandoc [OPTIONS] [FILES]
Input formats: native, markdown, markdown+lhs, rst, rst+lhs, html,
latex, latex+lhs
Output formats: native, html, html+lhs, s5, docbook, opendocument, odt, latex,
latex+lhs, context, texinfo, man, markdown, markdown+lhs, plain, rst, rst+lhs,
mediawiki, rtf
不幸的是,rtf不是它解析的格式之一。它是一个Haskell程序,因此在不安装Haskell平台的情况下获取它是不方便的。从解析的文档中,它可以编写一种“普通”子Markdown,或标准Markdown,或其自己丰富的Markdown,以及一堆其他格式。内部(“本机”)表示比标准Markdown规范要求更丰富,因此将丢失更少的信息,并且您将能够恢复用于降价的html - 或通过乳胶制作pdf等。它是相当容易hack at it for special purposes。
我不知道它们中的任何一个是否稳定但是来自其他语言的Pandoc库的绑定数量越来越多。对Github的搜索表明,最相关的寻找与Obj C挂钩的是普通的C libpandoc。 Ruby看起来活动最多 - 我猜是因为它是github - 有pandoku,pandoc-ruby,rails-pandoc等等。
答案 1 :(得分:2)
我会将内容转换为NSAttributedString
。您可以从RTF数据轻松构造NSAttributedString
; HTML将更加困难。但是,一旦你这样做,就要检查字符串上的所有属性并将等效的markdown应用于内容的纯文本版本。
进一步研究:
答案 2 :(得分:2)
有一个在线表单就是这样做的:MarkItDown