使用 Python 将 HTML 转为 RTF 字符串

2024-03-29

我正在寻找一种将 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 年版本的规范并不是最近出现的。有很多问题和不兼容性。很多。

现在,我并不是说这是不可能的,或者没有其他库可以做到这一点。我有not尝试过zopyx.convert例如,其他人在这里提到过。也许这很棒。但看看它的依赖项——Java、FOP 等——它看起来像是一个相当复杂(因此可能很脆弱)的工具链。我读它的代码在github上 https://github.com/zopyx/zopyx.convert2,而 Python 实际上只是作为协调饰面。它组织了外部工具 XFC、XINC、FOP 和 PrinceXML——其中四个是商业软件。其中包括处理 RTF 的关键 XFC 部分。让我感到怀疑。

我发现有两个转换器值得一看:如果您使用的是 Mac,则textutil https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/textutil.1.html命令行程序实际上是我见过的更好、更简单的工具之一。

textutil -convert html filename.rtf -output filename.html

另一个值得考虑的格式化引擎是自由办公室 http://www.libreoffice.org。它是免费的、开源的、相当适合自动化,并且作为互操作性中心具有良好的基础。这不仅仅是一个猜测;而是一个猜测。我围绕它构建了复杂的多格式文档工作流程。

我想问你为什么要尝试进入RTF。这似乎是您试图逃避的文档格式。但如果您需要这样做,textutil 和 LibreOffice 是我发现的最差的机制。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Python 将 HTML 转为 RTF 字符串 的相关文章

随机推荐

  • 如何在不链接libc.so的情况下访问段寄存器?

    我正在尝试在 Ubuntu 20 10 上使用 NASM 版本 2 15 04 在 64 位程序集中编写一个简单的堆栈金丝雀 执行下面的代码会导致在使用命令进行汇编和链接时出现分段错误nasm felf64 canary asm ld ca
  • Twitter iOS Streaming API:未收到数据

    我正在尝试修改Apple使用Twitter API的示例代码 以便我可以使用流API来过滤推文 我正在尝试实施针对此问题建议的方法 TWRequest 是否适用于 Twitter 流 API https stackoverflow com
  • Twilio:此电话号码无法发送消息

    我现在有一个 Twilio 测试帐户 我获得了一个比利时电话号码 并验证了我自己的手机号码 我正在尝试从分配的 Twilio 号码向我的手机号码发送简单的 SMS 消息 但这不起作用 仪表板显示 此电话号码无法发送消息 但在消息常见问题解答
  • 如何使用 WSDL

    我正在开发 WSDL 应用程序 但实际上我不明白什么是 wsdl 参数以及我将如何处理返回的 XML 例如 https adwords google com api adwords cm v201309 CampaignService ws
  • 如何防止响应式网页上的水平滚动?

    我正在使用 twitter bootstrap 来使我的应用程序具有响应能力 当我将浏览器窗口的宽度缩小到最小尺寸或在移动设备 例如 iPhone 上查看页面时 用户可以水平滚动 水平滚动量很小 但我想将其全部删除 我相信这是由于我包含的
  • 删除R中一组行中的某些行

    假设我有这个数据集 Id Name Price sales Profit Month Category Mode Supplier 1 A 2 0 0 1 X K John 1 A 2 0 0 2 X K John 1 A 2 5 8 3
  • Swift 中设置和读取 Bool 是原子操作吗?

    正如标题所示 很简单 基本上 在这个例子中 我们是否可以获得无效状态 var myBool false Thread 1 while true if randomEvent myBool true Thread 2 while true i
  • 服务器安全和通过 Rest 访问 OrientDB

    我猜这是一个令人尴尬的初学者问题 无论如何 在 OrientDB 文档的 服务器安全 下 我们发现 虽然 OrientDB Server 可以充当常规 Web 服务器 但不建议您将其直接公开到 Internet 或公共网络 相反 始终将 O
  • 在 Java 32 位和 Java 64 位之间切换

    我刚刚发现 如果我使用 64 位 JDK Apache Tomcat 无法作为 Windows 服务运行 因此我在 Windows 上另外安装了 Java 32 位 问题是当我使用 java version 检查 java 版本时 它仍然显
  • 从 wtforms 和flask-sqlalchemy 中的数据库查询中获取选择

    我正在使用 Flask SQLAlchemy 和 WTForms 开发一个 Web 应用程序 我想得到我的选择选择字段通过我的数据库查询 有更多细节 my query my table query with entities My Enti
  • 日志文件的合适大小(以字节为单位)是多少?

    我正在使用蟒蛇logging http docs python org library logging html simple examples模块旋转文件处理器 http docs python org library logging h
  • BasicHttpBinding 端点配置中的 bindingConfiguration 属性负责什么?

    因此 我正在为 WCF 服务配置端点 我对整个服务几乎没有经验 但一直在使用它们的项目中 我大致了解端点中除一个属性之外的每个属性的作用 绑定配置 这是我的代码的模糊版本 实际信息是专有的
  • vuejs - 计算不能与 props 一起使用

    我正在使用 props 来更新子组件中的网站内容 这基本上是这样工作的
  • 在 Firestore 中安全保存数据

    Firestore 文档shows https firebase google com docs firestore security rules query examples https firebase google com docs
  • Groovy:从文件中读取一系列行

    我有一个文本文件 其中包含大约 2 000 000 行的大量数据 使用以下代码片段浏览文件很容易 但这不是我需要的 def f new File input txt f eachLine Some code here 我只需要从文件中读取特
  • 函数指针作为参数

    我尝试调用一个不带参数作为函数指针传递的函数 但我无法使其工作 void disconnectFunc void D setDisconnectFunc void func disconnectFunc func void D discon
  • TPL 是否可以在多个线程上运行任务?

    欢迎特定于 Mono Xamarin 的答案 我正在使用 Task Run 运行 System Threading Tasks TPL 是否会在任务执行的生命周期内将创建的任务分配给单个线程 或者创建的任务是否有可能在运行时被抢占 然后再次
  • Plotly - 如何绘制圆柱体?

    I have a function plotting the cylinder using matplotlib 我想知道如何使用情节来做同样的事情 下面是我绘制圆柱体的 matplotlib 函数 function to plot the
  • 更新核心数据存储位置以支持应用程序组

    我在 App Store 中已有一个使用核心数据来保存数据的应用程序 现在 当 iOS 8 即将发布时 我想为其添加一个小部件 因此我必须使用应用程序组在二进制文件之间共享数据 但有一个问题 我需要更改商店位置以支持所有现有用户的应用程序组
  • 使用 Python 将 HTML 转为 RTF 字符串

    我正在寻找一种将 HTML 文本转换为 RTF 字符串的方法 有没有任何图书馆可以完成这项工作 我在项目中动态获取 html 内容 并需要将其以 RTF 格式呈现 我正在使用 HTML 解析器将 HTML 文本转换为普通字符串 然后尝试使用