Преобразование C# RichTextBox в PDF: подробное руководство

В этой статье блога мы рассмотрим различные методы преобразования содержимого элемента управления C# RichTextBox в документ PDF. Мы рассмотрим несколько подходов и предоставим примеры кода для иллюстрации каждого метода. Если вам нужно создавать документы для печати или хранить содержимое RichTextBox в переносимом формате, это руководство предложит вам ряд вариантов для достижения вашей цели.

Метод 1: библиотека iTextSharp
iTextSharp — популярная библиотека C# для создания файлов PDF. Он предоставляет мощный набор функций для создания PDF-документов и управления ими. Чтобы преобразовать RichTextBox в PDF с помощью iTextSharp, выполните следующие действия:

  1. Установите библиотеку iTextSharp с помощью диспетчера пакетов NuGet.

  2. Добавьте необходимые пространства имен:

    using iTextSharp.text;
    using iTextSharp.text.pdf;
  3. Создайте новый документ PDF и экземпляр PdfWriter:

    Document document = new Document();
    PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("output.pdf", FileMode.Create));
    document.Open();
  4. Перебрать строки RichTextBox и добавить их в документ PDF:

    foreach (string line in richTextBox.Lines)
    {
       document.Add(new Paragraph(line));
    }
  5. Закройте документ и средство записи:

    document.Close();
    writer.Close();

Метод 2: библиотека PdfSharp
PdfSharp — еще одна популярная библиотека для работы с PDF-файлами на C#. Чтобы преобразовать RichTextBox в PDF с помощью PdfSharp, выполните следующие действия:

  1. Установите библиотеку PdfSharp с помощью диспетчера пакетов NuGet.

  2. Добавьте необходимые пространства имен:

    using PdfSharp.Pdf;
    using PdfSharp.Drawing;
  3. Создайте новый документ PDF:

    PdfDocument document = new PdfDocument();
  4. Создайте новую страницу и добавьте ее в документ:

    PdfPage page = document.AddPage();
    XGraphics gfx = XGraphics.FromPdfPage(page);
  5. Установите шрифт и размер текста:

    XFont font = new XFont("Arial", 12, XFontStyle.Regular);
  6. Перебирать строки RichTextBox и рисовать их на странице PDF:

    int yPosition = 10;
    foreach (string line in richTextBox.Lines)
    {
       gfx.DrawString(line, font, XBrushes.Black, new XRect(10, yPosition, page.Width, page.Height), XStringFormats.TopLeft);
       yPosition += 20; // Adjust the vertical position for the next line
    }
  7. Сохраните документ в файл:

    document.Save("output.pdf");
  8. Закройте документ:

    document.Close();

Метод 3: библиотека SelectPdf
SelectPdf — это сторонняя библиотека, которая позволяет создавать PDF-файлы на C#. Он предлагает простой и понятный подход к преобразованию RichTextBox в PDF. Чтобы использовать SelectPdf, выполните следующие действия:

  1. Установите библиотеку SelectPdf с помощью диспетчера пакетов NuGet.

  2. Добавьте необходимые пространства имен:

    using SelectPdf;
  3. Создайте экземпляр класса PdfDocument:

    PdfDocument document = new PdfDocument();
  4. Создать новую страницу:

    PdfPage page = document.AddPage();
  5. Создайте новый конвертер HTML в PDF:

    HtmlToPdf converter = new HtmlToPdf();
  6. Загрузить содержимое RichTextBox в строку HTML:

    string htmlContent = "<html><body>" + richTextBox.Text + "</body></html>";
  7. Преобразуйте строку HTML в PDF и сохраните ее в файл:

    PdfDocument result = converter.ConvertHtmlString(htmlContent);
    result.Save("output.pdf");
  8. Закройте документ:

    document.Close();

В этой статье мы рассмотрели три различных метода преобразования элемента управления RichTextBox C# в документ PDF. Мы рассмотрели библиотеки iTextSharp, PdfSharp и SelectPdf, предоставив пошаговые инструкции и примеры кода для каждого подхода. В зависимости от ваших конкретных требований и предпочтений вы можете выбрать метод, который наилучшим образом соответствует вашим потребностям. Имея в своем распоряжении эти методы, вы можете легко создавать PDF-документы из содержимого RichTextBox в своих приложениях C#.