HTML to RTF .Net is 100% C# assembly to convert HTML documents into RTF, DOCX and Text formats. Can also Merge RTF documents and replace text in them. Absolutely standalone solution, doesn't require MS Office or any other. Requires only .NET Framework 4.6.2 and up or .NET 6.0 and up. The component can read and parse all types of HTML: HTML 3.2, HTML 4.01, HTML 5 with CSS and XHTML 1.01. The component has own HTML parser, DOCX and RTF writers.
$ dotnet add package SautinSoft.HtmlToRtf
SautinSoft.HtmlToRtf is .NET assembly (SDK) which gives API to convert HTML to DOCX, RTF and Text. Merge and replace text in RTF documents.
Are you ready to give HTML to RTF .NET a try? Simply execute Install-Package sautinsoft.htmltortf from Package Manager Console in Visual Studio to fetch the NuGet package. If you already have HTML to RTF .NET and want to upgrade the version, please execute Update-Package sautinsoft.htmltortf to get the latest version.
SautinSoft.HtmlToRtf h = new SautinSoft.HtmlToRtf();
string inputFile = @"sample.html";
// You want to save in DOCX.
string outputFile = @"result.docx";
HtmlConvertOptions opt = new HtmlConvertOptions();
opt.OutputFormat = HtmlToRtf.OutputFormat.Docx;
h.Convert(inputFile, outputFile, opt);
SautinSoft.HtmlToRtf h = new SautinSoft.HtmlToRtf();
// Array with several RTF files.
string[] rtfFiles = new string[] { "footer.rtf", "footer.rtf", "footer.rtf" };
string singleRtf = String.Empty;
// Let's divide RTF documents using page break.
h.MergeOptions.PageBreakBetweenDocuments = true;
foreach (string rtfFile in rtfFiles)
{
string rtfFilePath = Path.Combine(htmlDir.FullName, rtfFile);
// Copy 1st RTF to 'singleRtf'
if (String.IsNullOrEmpty(singleRtf))
singleRtf = File.ReadAllText(rtfFilePath);
// Merge 2nd, 3rd ....
else
singleRtf = h.MergeRtfString(singleRtf, File.ReadAllText(rtfFilePath));
}
// Save 'singleRtf' to a file only for demonstration purposes.
string singleRtfPath = Path.Combine(htmlDir.FullName, "single.rtf");
File.WriteAllText(singleRtfPath, singleRtf);