是否有用于将RTF转换为纯文本的Python模块?

Ton*_*ony 33 python text rtf

理想情况下,我想要一个不需要超级用户访问权限的模块或库; 我在工作环境中的权限有限.

Bre*_*don 49

我一直在研究一个名为Pyth的库,它可以做到这一点:

http://pypi.python.org/pypi/pyth/

将RTF文件转换为纯文本看起来像这样:

from pyth.plugins.rtf15.reader import Rtf15Reader
from pyth.plugins.plaintext.writer import PlaintextWriter

doc = Rtf15Reader.read(open('sample.rtf'))

print PlaintextWriter.write(doc).getvalue()
Run Code Online (Sandbox Code Playgroud)

Pyth还可以生成RTF文件,读取和写入XHTML,生成来自Nevow's stan的Python标记的文档,并且对乳胶和pdf输出的实验支持有限.它的RTF支持非常强大 - 我们在生产中使用它来读取由各种版本的Word,OpenOffice,Mac TextEdit,EIOffice等生成的RTF文件.

  • 惭愧它不兼容Python 3 ;-( (12认同)
  • @Epoc,有一些工作要使它与Python 3兼容.我的repo中有一个fork,你可以使用`pip install git + https:// github.com/robertour/pyth @ pyth-py3`安装.你可以在[这里](https://github.com/brendonh/pyth/pull/33/commits)看到一些讨论. (3认同)

Paw*_*icz 7

OpenOffice有一个RTF阅读器.您可以使用python编写OpenOffice脚本,有关详细信息,请参阅此处.

您可以尝试使用Windows上的魔术com对象来读取任何闻起来有ms-binary的东西.我不建议这样做.

实际上解析原始数据可能不会很难,请参阅用.bat/QBasic编写的这个示例.

DocFrac是RTF,HTML和文本之间的免费开源转换器.提供Windows,Linux,ActiveX和DLL平台.将它包装在python中可能非常容易.

RTF :: TEXT :: Converter - 用于将RTF转换为文本的Perl扩展.(如果您在使用DocFrac时遇到问题).

Microsoft的官方RTF格式(RTF)规范 1.7版.

祝你好运(在你的工作环境中享有有限的特权).

  • RTF :: TEXT :: Converter的链接已损坏.链接到python邮件列表的讨论也是如此.这就是为什么不鼓励使用链接答案的原因...... (2认同)