Vik*_*eti 13 python rtf html-parsing
我正在寻找一种方法将HTML文本转换为RTF字符串.是否有任何图书馆可以完成这项工作.我在项目中动态获取html内容,需要以RTF格式呈现.我正在使用HTML解析器将HTML文本转换为普通字符串,然后尝试使用PyRTF转换为RTF格式.有没有更好的方法可以做到这一点.谢谢你提前.
RTF 似乎是一种难以转换的格式。例如,我尝试过在 Mac OS X 上的应用程序之间进行剪切和粘贴,其中 RTF 是一种通用语言。其中一些应用程序是 Microsoft 应用程序(相关的 RTF 是 Microsoft 开发的格式),其他应用程序则不是。从一个表面上使用 RTF 的应用程序复制到另一个应用程序时,即使是基本的格式信息(例如字体大小、字体、行距和列表样式(有序或无序))也会变得混乱。简单来说,就是一团糟。
我一直在寻找以编程方式读取、写入和转换 RTF 的方法,最好是使用 Python。我在 PyPI 上发现了许多软件包,尝试它们是一次令人失望的经历。例如,当当前版本是 1.9.1 时,他们将支持 RTF 1.5。RTF 已经存在很长时间了,但 2005 年的老式规范并不是最近才出现的。有很多问题和不兼容性。很多。
现在,我并不是说这是不可能的,或者没有其他库可以做到这一点。例如,我没有尝试过其他人在这里提到的方法。zopyx.convert也许这很棒。但看看它的依赖项——Java、FOP 等——它看起来像是一个相当复杂(因此可能很脆弱)的工具链。我在 github 上阅读了它的代码,Python 实际上只是作为协调饰面。它组织了外部工具 XFC、XINC、FOP 和 PrinceXML——其中四个是商业软件。其中包括处理 RTF 的关键 XFC 部分。让我感到怀疑。
我发现有两个转换器值得一看: 如果您使用的是 Mac,textutil命令行程序实际上是我见过的更好、更简单的工具之一。
textutil -convert html filename.rtf -output filename.html
Run Code Online (Sandbox Code Playgroud)
另一个值得考虑的格式化引擎是LibreOffice。它是免费的、开源的、相当适合自动化,并且作为互操作性中心具有良好的基础。这不仅仅是一个猜测;而是一个猜测。我围绕它构建了复杂的多格式文档工作流程。
我想问你为什么要尝试进入RTF。这似乎是您试图逃避的文档格式。但如果您需要这样做,textutil 和 LibreOffice 是我发现的最差的机制。
有一个很棒的 Python 库,以 tarball 形式提供。
您可以在https://pypi.python.org/pypi/zopyx.convert2/2.4.5下载它。
祝你好运!