This is a fork of cezarypiatek/RtfPipe (itself a fork of erdomke/RtfPipe).
The motivation for the fork is to strip out the System.Drawing.Common dependency (and corresponding features).
Elem.RtfPipe is a .NET library for parsing Rich Text Format (RTF)
streams and converting them to HTML. While initially adapted from the work started by
Jani Giannoudis, it has
been completely rewritten to support more features. When combined with the
BracketPipe library, this library
can also be used to convert RTF streams to various text format such as Markdown and Textile.
Below is a simple example of converting an RTF string to an HTML string.
var html = Rtf.ToHtml(rtf);Install-Package Elem.RtfPipe
This library attempts to support the core RTF features documented in the RTF Specification 1.9.1. These features include:
- Character formatting (bold, italics, color, ...)
- Tables (including nested tables, rows and columns merge)
- Lists
- Hyperlinks
- Pictures
- Heading levels
- HTML encapsulation (e.g. as performed by Outlook)
With that said, there are numerous cases for non-trivial documents where the library will not produce the "correct" visual representation when compared to other RTF readers (such as MS Word).
The NuGet package can be used with the following .Net targets
- net9.0