|Classes of Christian Vigh||PHP RTF Tools||README.md||Download|
This package provides several classes to handle Rtf data. It has been designed to be able to handle files whose contents are too big to fit into memory. This is why you will see a dichotomy among classes :
It is up to you to decide whether you will have to handle big files. If you are sure that your Rtf contents will always fit into memory, use the RtfString classes. If you are sure that your files may be bigger than the available memory, use the RtfFile classes. This will add some overhead due to file IO (this can more than double the execution time if you have low performance IO subsystem, but I noticed some systems where the difference between the in-memory and file versions are only a few tenths of milliseconds).
This package currently implements the following classes :
All the classes in this package rely on the SearchableFile class (http://www.phpclasses.org/package/9697-PHP-Process-text-files-too-big-to-fit-into-memory.html) that allows to search for contents in files too big to fit into memory. A copy of this class is present in this package for your convenience but note that it may not be the latest release.
All the main class files in this package (RtfBeautifier.phpclass, RtfParser.phpclass and RtfTexter.phpclass) also inherit from the RtfDocument class (RtfDocument.phpclass).
This package depends on the following package, SearchableFile, which allows you to search text data from files too big to fit into memory :
For convenience reasons, the SearchableFile.phpclass file has been included here, but note that this may not be the latest version.
The latest Microsoft Rtf format specifications can be downloaded here :
But you can also consult the excellent book "Rtf pocket guide" from Sean M. Burke :
or visit his page :
If you have problems using one of the RtfTools class, or get strange results, please feel free to contact me at the following address :
Don't hesitate to send me the Rtf documents that caused the failure as attachments in your email ; I will be happy to answer you !