ПРОДУКТЫСКАЧАТЬ  КУПИТЬ  ПОМОЩЬ БЛОГ   О КОМПАНИИ  
 
Визитная карточка
>>HTML в RTF
HTML в DOCX
HTML в Text
Объединение RTF
Скачать
Купить
Online-demo
Документация
Новости
Примеры кода

Как написать функцию для конвертирования HTML в RTF
на C# и VB.NET за 15 минут?



Как написать функцию для конвертирования HTML в RTF на C# и VB.NET за 15 минут?

Введение

Представьте, что через 15 минут после прочтения этого текста, Вы сможете добавить Вашему приложению набор инструментов для преобразования HTML-страниц в RTF-документы, используя C# или VB.NET. И это так!

            SautinSoft.HtmlToRtf h = new SautinSoft.HtmlToRtf();
            string html = @"<p>Hello World!</p>";
            string rtf = String.Empty;
            if (h.OpenHtml(html))
            {
                rtf = h.ToRtf();
            }

Чтобы получить возможность преобразования HTML в Вашем приложении .NET:

  • Скачайте последнюю версию SDK «HTML to RTF .Net».
  • Перейдите на вкладку "Solution Explorer" и добавьте ссылку на "SautinSoft.HtmlToRtf.dll".
Теперь вы можете работать с классом HtmlToRtf, который предоставляет Вам различные методы и свойства для преобразования HTML в MemoryStream, String, Files, URI и так далее:


How looks HtmlToRtf .Net class


NuGet   Online Demo   Скачать, 7.4.4.30 (Апр 30, 2020)



Системные требования

Компонент совместим со всеми языками .NET и поддерживает основные операционные системы.

  • Windows
  • Linux
  • Mac OS

Обратите внимание, что «HTML to RTF .Net» полностью написан на управляемом C#. Это делает его абсолютно автономным и независимым.

.NET Framework 4.0 and higher and .Net Core 2.0 and higher

.NET Framework 4.0, 4.5, 4.6.1 и выше. Старую версию .NET 2.0 можно найти здесь.

.NET Core 2.0 и выше.

Пять примеров конвертирования HTML в RTF на C# и VB.Net.

1. Простое конвертирование HTML-файла в RTF-файл на C#:

            SautinSoft.HtmlToRtf h = new SautinSoft.HtmlToRtf();

            string inputFile = @"d:\sample.html";
            string outputFile = Path.ChangeExtension(inputFile, ".rtf");

            if (h.OpenHtml(inputFile))
            {
                bool ok = h.ToRtf(outputFile);

                // Откройте результат для демонстрации.
                if (ok)
                    System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outputFile)
                    { UseShellExecute = true });
            }
2. Конвертируйте HTML в RTF в памяти с помощью C#; установите размер и ориентацию страницы, добавьте номера страниц:
            SautinSoft.HtmlToRtf h = new SautinSoft.HtmlToRtf();

            // Настройте параметры страницы.
            h.PageStyle.PageSize.Letter();
            h.PageStyle.PageOrientation.Landscape();

            h.PageStyle.PageNumbers.Format = "Page {page} of {numpages}";
            h.PageStyle.PageNumbers.AlignH = SautinSoft.HtmlToRtf.eAlign.Center;
            h.PageStyle.PageNumbers.AlignV = SautinSoft.HtmlToRtf.eAlign.Bottom;

            string inputFile = @"d:\utf-8.html";
            string outputFile = Path.ChangeExtension(inputFile, ".rtf");

            // Укажите свойство 'BaseURL', чтобы компонент мог найти полный путь к изображениям, например: <img src="..\pict.png" and
            // для внешних CSS, как:  <link rel="stylesheet" href="/css/style.css" >.
            h.BaseURL = Path.GetFullPath(inputFile);

            using (FileStream htmlFileStream = new FileStream(inputFile, FileMode.Open))
            {
                if (h.OpenHtml(htmlFileStream))
                {
                    using (MemoryStream rtfMemoryStream = new MemoryStream())
                    {
                        bool ok = h.ToRtf(rtfMemoryStream);

                        // Откройте результат для демонстрации.
                        if (ok)
                        {
                            File.WriteAllBytes(outputFile, rtfMemoryStream.ToArray());
                            System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outputFile)
                            { UseShellExecute = true });
                        }
                    }
                }
            }
3. Конвертирование HTML в RTF в памяти с помощью VB.NET; установите размер и ориентацию страницы, добавьте номера страниц:
        Dim h As New SautinSoft.HtmlToRtf()

        Dim inputFile As String = "d:\utf-8.html"
        Dim outputFile As String = Path.ChangeExtension(inputFile, ".rtf")

        ' Установите некоторые параметры страницы.
        h.PageStyle.PageSize.Letter()
        h.PageStyle.PageOrientation.Landscape()

        h.PageStyle.PageNumbers.Format = "Page {page} of {numpages}"
        h.PageStyle.PageNumbers.AlignH = SautinSoft.HtmlToRtf.eAlign.Center
        h.PageStyle.PageNumbers.AlignV = SautinSoft.HtmlToRtf.eAlign.Bottom

        ' Укажите свойство 'BaseURL', чтобы компонент мог найти полный путь к изображениям, например: <img src="..\pict.png" и
        ' для внешних CSS, как:  <link rel="stylesheet" href="/css/style.css">.
        h.BaseURL = Path.GetFullPath(inputFile)

        Using htmlFileStream As New FileStream(inputFile, FileMode.Open)
            If h.OpenHtml(htmlFileStream) Then
                Using rtfMemoryStream As New MemoryStream()
                    Dim ok As Boolean = h.ToRtf(rtfMemoryStream)
                    ' Откройте результат для демонстрации.
                    Если хорошо, то
                        File.WriteAllBytes(outputFile, rtfMemoryStream.ToArray())
                        System.Diagnostics.Process.Start(New System.Diagnostics.ProcessStartInfo(outputFile) 
                            With { .UseShellExecute = True})
                    End If
                End Using
            End If
        End Using
4. Конвертирование HTML в RTF на C#; Добавьте пользовательский заголовок страницы из HTML, добавьте нижний колонтитул из другого RTF:
            SautinSoft.HtmlToRtf h = new SautinSoft.HtmlToRtf();
            string inputFile = @"d:\sample.html";
            string outputFile = Path.ChangeExtension(inputFile, ".rtf");

            // Добавьте заголовок из строки HTML.
            h.PageStyle.PageHeader.Html("This is a bold italic line.");

            // Добавьте нижний колонтитул из RTF-файла .
            h.PageStyle.PageFooter.FromRtfFile(@"d:\footer.rtf");

            // Сконвертируйте HTML в RTF.
            if (h.OpenHtml(inputFile))
            {
                bool ok = h.ToRtf(outputFile);

                //Откройте результат для демонстрации.
                if (ok)
                    System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(outputFile)
                    { UseShellExecute = true });
            }
5. Конвертируйте HTML в RTF и извлекайте все изображения из HTML (локальные, удаленные, даже встроенные в Base64) на C#:
            SautinSoft.HtmlToRtf h = new HtmlToRtf();
            string htmlPath = @"d:\Fathers and Sons.html";
            string htmlString = File.ReadAllText(htmlPath);
            string rtfPath = Path.ChangeExtension(htmlPath, ".rtf");

            List<HtmlToRtf.SautinImage> imgList = new List<HtmlToRtf.SautinImage>();

            h.BaseURL = @"d:\";

            // Конвертируйте HTML и поместите все изображения в imgList.
            h.ConvertString(htmlString, imgList);

            // Сохраните все изображения на жесткий диск.
            foreach (HtmlToRtf.SautinImage img in imgList)
            {
                img.Img.Save(String.Format(@"d:\{0}.png", img.Cid));
            }



Есть вопрос?

  • Если у Вас есть вопросы,
  • нужна помощь
  • или пример кода как конвертировать на C#, VB.NET, ASP.NET,
обращайтесь в нашу службу поддержки по адресу support@sautinsoft.com или спросите в онлайн-чате (правый нижний угол этой страницы). Мы Вам обязательно поможем!


Преимущества «HTML to RTF .Net»

  1. Экономия времени и никаких затрат на разработку продукта.

    Нет смысла разрабатывать свой компонент HTML to RTF на С#. Это требует много дней напряженной работы и занимает около 20 000 строк кода. «HTML to RTF .Net» сэкономит Ваше время! Нужно только добавить ссылку на "SautinSoft.HtmlToRtf.dll" и написать 3-4 строки на C#.

  2. Компонент предоставляет набор API для конвертирования HTML: 3.2, 4.01, 5, с CSS и XHTML в DOCX, RTF, текст и для слияния RTF-файлов.

  3. «HTML to RTF .Net» является абсолютно автономным компонентом. Не нужно иметь MS Word, Internet Explorer или другое ПО для конвертирования и редактирования документов.

  4. Вы оплачиваете один раз и пользуетесь «HTML to RTF .Net» без каких-либо дополнительных сборов. Лицензия никогда не истекает.

  5. В качестве бонуса Вы получате неограниченную техническую поддержку независимо от даты Вашего приобретения.

Если Вас заинтересовал наш продукт, Вы можете скачать демо-версию тут или посмотреть цены на «HTML to RTF .Net».

 
 
Программы Скачать Помощь О компании
SautinSoft on Facebook SautinSoft on Twitter SautinSoft on Youtube Our Blog
Авторское право © 2002 - 2020 SautinSoft (начало с сайта sautin.com). Все права защищены.