ipwsystems/rtftools

该软件包最新版本(1.0.2)的许可信息不可用。

用于从RTF文件中提取原始文本的库

1.0.2 2019-06-24 08:08 UTC

This package is auto-updated.

Last update: 2024-08-28 11:50:29 UTC


README

此软件包提供了一些用于处理RTF数据的类。它已被设计成能够处理内容太大而无法放入内存的文件。这就是为什么你会在类之间看到二分法

  • RtfString 开头的类处理内存中的RTF内容。
  • RtfFile 开头的类处理基于文件的RTF内容。

您需要决定是否需要处理大文件。如果您确定RTF内容始终可以放入内存,请使用 RtfString 类。如果您确定文件可能比可用内存大,请使用 RtfFile 类。这将增加一些由文件I/O引起的开销(如果您具有低性能I/O子系统,则可能会加倍执行时间,但我注意到一些系统,其中内存版本和文件版本之间的差异只有几十分之一毫秒)。

该软件包当前实现了以下类

  • RtfStringBeautifierRtfFileBeautifier:以美观的方式打印RTF文件内容,以便您可以使用例如 diffwindiff 的工具比较两个RTF文件。您可以在以下位置找到一些帮助:帮助/README.beautifier.md
  • RtfStringParserRtfFileParser:一个通用的RTF内容解析器。它提供了一组映射到底层RTF令牌类型的 Rtf*Token 类,以及一些基本智能,允许您根据当前嵌套级别跟踪某些控制词的值,以及处理图片或二进制数据内容(帮助/README.parser.md)。
  • RtfStringTexterRtfFileTexter:一个类,可以从RTF内容中提取原始文本,并具有一些基本的格式化功能(帮助/README.texter.md)。
  • RtfStringTemplaterRtfFileTemplater:一个类,允许您处理包含宏语言构造的RTF模板,以生成最终输出文档,例如用于邮件(帮助/README.templater.md)。
  • RtfMerger:一个类,允许您将多个RTF文档合并为一个(帮助/README.merger.md)。这是此软件包中唯一不继承自 RtfDocument 的RTF处理类。

依赖关系

此软件包中的所有类都依赖于 SearchableFile 类(http://www.phpclasses.org/package/9697-PHP-Process-text-files-too-big-to-fit-into-memory.html),该类允许在无法放入内存的文件中搜索内容。此软件包中包含此类的副本以供您方便使用,但请注意,它可能不是最新版本。

本包中的所有主要类文件(RtfBeautifier.phpclassRtfParser.phpclassRtfTexter.phpclass)也继承自 RtfDocument 类(RtfDocument.phpclass)。

参考文献

本包依赖于以下包,SearchableFile,该包允许您从无法放入内存的文件中搜索文本数据。

[http://www.phpclasses.org/package/9697-PHP-Process-text-files-too-big-to-fit-into-memory.html](http://www.phpclasses.org/package/9697-PHP-Process-text-files-too-big-to-fit-into-memory.html "http://www.phpclasses.org/package/9697-PHP-Process-text-files-too-big-to-fit-into-memory.html")

出于方便起见,已在此包含 SearchableFile.phpclass 文件,但请注意,这可能不是最新版本。

最新版的Microsoft Rtf格式规范可以在此下载

[https://www.microsoft.com/en-us/download/details.aspx?id=10725](https://www.microsoft.com/en-us/download/details.aspx?id=10725 "https://www.microsoft.com/en-us/download/details.aspx?id=10725")

但您也可以查阅Sean M. Burke编写的优秀书籍《Rtf口袋指南

[https://books.google.fr/books/about/RTF_Pocket_Guide.html?id=4N_lVcyyhqMC&redir_esc=y](https://books.google.fr/books/about/RTF_Pocket_Guide.html?id=4N_lVcyyhqMC&redir_esc=y "https://books.google.fr/books/about/RTF_Pocket_Guide.html?id=4N_lVcyyhqMC&redir_esc=y")

或访问他的页面

[http://interglacial.com/~sburke/](http://interglacial.com/~sburke/ "http://interglacial.com/~sburke/")

支持

如果您在使用 RtfTools 类时遇到问题,或得到奇怪的结果,请随时通过以下地址联系我

christian.vigh@wuthering-bytes.com

不要犹豫,将导致失败的Rtf文档作为附件发送到您的电子邮件中;我将很高兴为您解答!