sautinsoft.htmltortf 2023.12.6

There is a newer version of this package available.
See the version list below for details.
dotnet add package sautinsoft.htmltortf --version 2023.12.6
NuGet\Install-Package sautinsoft.htmltortf -Version 2023.12.6
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="sautinsoft.htmltortf" Version="2023.12.6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add sautinsoft.htmltortf --version 2023.12.6
#r "nuget: sautinsoft.htmltortf, 2023.12.6"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install sautinsoft.htmltortf as a Cake Addin
#addin nuget:?package=sautinsoft.htmltortf&version=2023.12.6

// Install sautinsoft.htmltortf as a Cake Tool
#tool nuget:?package=sautinsoft.htmltortf&version=2023.12.6


Nuget versionNuget downloads


SautinSoft.HtmlToRtf is .NET assembly (SDK) which gives API to convert HTML to DOCX, RTF and Text. Merge and replace text in RTF documents.

Top Features

System Requirement

  • .NET Framework 4.6.1 - 4.8.1
  • .NET Core 2.0 - 3.1, .NET 5, 6, 7, 8
  • .NET Standard 2.0
  • Windows, Linux, macOS, Android, iOS.

Getting Started with HTML to RTF .Net

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.

Convert HTML to WORD

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);

Merge multiple RTF files

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 ....
            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);


Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 is compatible.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 is compatible.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2024.5.22 486 5/22/2024
2023.12.6 5,575 12/6/2023
2023.6.1 10,073 6/1/2023 20,150 2/16/2023 1,298 11/9/2022 13,136 5/25/2022 9,700 12/7/2021 330 10/27/2021 6,075 6/4/2021 694 5/12/2021 310 3/16/2021 298 1/18/2021 421,658 4/30/2020 17,555 2/11/2020 20,023 4/16/2019 9,649 8/16/2018 1,394 7/13/2018 1,039 7/11/2018 17,089 5/31/2018 48,870 1/5/2017

We've prepared many fixes and improvements. Let's see what's new in the version HTML to RTF .Net 2023.12:
+ The main news is that we have switched to a new graphics engine - SkiaSharp (instead og System.Drawing.Common):
SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library (
It provides a comprehensive 2D API that can be used across mobile, server and desktop models to render images.
SkiaSharp provides cross-platform bindings for:
.NET Standard 1.3
.NET Core
.NET 6
Mac Catalyst
WinUI 3 (Windows App SDK / Uno Platform)
Windows Classic Desktop (Windows.Forms / WPF)
Web Assembly (WASM)
Uno Platform (iOS / macOS / Android / WebAssembly)
+ HTML Reader: Added reading of SVG data and HTML forms and fields.
+ Code Samples: We've updated our component usage examples. Now, your experience of use and the quality of the component have increased by an order of magnitude.
+ DOCX/RTF Writer: The bug with reading the list marker has been fixed.
+ Fixed the minor issues, found and sent to us from our customers. Therefore the component became more error-free.