Судя по статье, я считаю, что класс, который вы ищете: RtfHtmlConverter
.
Самый простой способ - скопировать все файлы DLL из папки Release в папку внутри вашего проекта (Вы можете также поместить все другие зависимости здесь).Затем щелкните правой кнопкой мыши папку References
в своем проекте (в VS Solution Explorer) и (когда откроется диалоговое окно) используйте «Обзор», чтобы найти соответствующие сборки.
Затем вы можете использовать пример, представленный встатья для преобразования входного потока RTF в строку HTML:
Взято из указанной вами статьи , все кредиты автору (хотя и слегка изменены, чтобы вернуть значение, вместо его печати)на консоль):
public string ConvertRtf2Html(Stream rtfStream)
{
// logger
RtfInterpreterListenerFileLogger logger =
new RtfInterpreterListenerFileLogger(@"c:\temp\RtfInterpreter.log");
// image converter
// convert all images to JPG
RtfVisualImageAdapter imageAdapter =
new RtfVisualImageAdapter(ImageFormat.Jpeg);
RtfImageConvertSettings imageConvertSettings =
new RtfImageConvertSettings(imageAdapter);
imageConvertSettings.ScaleImage = true; // scale images
RtfImageConverter imageConverter =
new RtfImageConverter(imageConvertSettings);
// interpreter
IRtfDocument rtfDocument = RtfInterpreterTool.Interpret(rtfStream,
logger, imageConverter);
// html converter
RtfHtmlConvertSettings htmlConvertSettings =
new RtfHtmlConvertSettings(imageAdapter);
htmlConvertSettings.StyleSheetLinks.Add("default.css");
RtfHtmlConverter htmlConverter = new RtfHtmlConverter(rtfDocument,
htmlConvertSettings);
return htmlConverter.Convert();
}
Вы можете добавить перегрузку, которая принимает строку:
public string ConvertRtfToHtml(string rtfString)
{
string sourceRtf = "some rtf";
byte[] data = ASCIIEncoding.Default.GetBytes(sourceRtf);
using (MemoryStream ms = new MemoryStream(data))
{
// call the method above
return ConvertRtfToHtml(ms);
}
}
Вам также необходимо добавить несколько предложений using
в начало исходного файла., чтобы включить необходимые пространства имен:
using Itenso.Rtf.Interpreter;
using Itenso.Rtf.Converter.Html;
using Itenso.Rtf.Converter.Image;