В этой статье блога мы рассмотрим различные методы преобразования содержимого элемента управления C# RichTextBox в документ PDF. Мы рассмотрим несколько подходов и предоставим примеры кода для иллюстрации каждого метода. Если вам нужно создавать документы для печати или хранить содержимое RichTextBox в переносимом формате, это руководство предложит вам ряд вариантов для достижения вашей цели.
Метод 1: библиотека iTextSharp
iTextSharp — популярная библиотека C# для создания файлов PDF. Он предоставляет мощный набор функций для создания PDF-документов и управления ими. Чтобы преобразовать RichTextBox в PDF с помощью iTextSharp, выполните следующие действия:
-
Установите библиотеку iTextSharp с помощью диспетчера пакетов NuGet.
-
Добавьте необходимые пространства имен:
using iTextSharp.text; using iTextSharp.text.pdf;
-
Создайте новый документ PDF и экземпляр PdfWriter:
Document document = new Document(); PdfWriter writer = PdfWriter.GetInstance(document, new FileStream("output.pdf", FileMode.Create)); document.Open();
-
Перебрать строки RichTextBox и добавить их в документ PDF:
foreach (string line in richTextBox.Lines) { document.Add(new Paragraph(line)); }
-
Закройте документ и средство записи:
document.Close(); writer.Close();
Метод 2: библиотека PdfSharp
PdfSharp — еще одна популярная библиотека для работы с PDF-файлами на C#. Чтобы преобразовать RichTextBox в PDF с помощью PdfSharp, выполните следующие действия:
-
Установите библиотеку PdfSharp с помощью диспетчера пакетов NuGet.
-
Добавьте необходимые пространства имен:
using PdfSharp.Pdf; using PdfSharp.Drawing;
-
Создайте новый документ PDF:
PdfDocument document = new PdfDocument();
-
Создайте новую страницу и добавьте ее в документ:
PdfPage page = document.AddPage(); XGraphics gfx = XGraphics.FromPdfPage(page);
-
Установите шрифт и размер текста:
XFont font = new XFont("Arial", 12, XFontStyle.Regular);
-
Перебирать строки 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 }
-
Сохраните документ в файл:
document.Save("output.pdf");
-
Закройте документ:
document.Close();
Метод 3: библиотека SelectPdf
SelectPdf — это сторонняя библиотека, которая позволяет создавать PDF-файлы на C#. Он предлагает простой и понятный подход к преобразованию RichTextBox в PDF. Чтобы использовать SelectPdf, выполните следующие действия:
-
Установите библиотеку SelectPdf с помощью диспетчера пакетов NuGet.
-
Добавьте необходимые пространства имен:
using SelectPdf;
-
Создайте экземпляр класса PdfDocument:
PdfDocument document = new PdfDocument();
-
Создать новую страницу:
PdfPage page = document.AddPage();
-
Создайте новый конвертер HTML в PDF:
HtmlToPdf converter = new HtmlToPdf();
-
Загрузить содержимое RichTextBox в строку HTML:
string htmlContent = "<html><body>" + richTextBox.Text + "</body></html>";
-
Преобразуйте строку HTML в PDF и сохраните ее в файл:
PdfDocument result = converter.ConvertHtmlString(htmlContent); result.Save("output.pdf");
-
Закройте документ:
document.Close();
В этой статье мы рассмотрели три различных метода преобразования элемента управления RichTextBox C# в документ PDF. Мы рассмотрели библиотеки iTextSharp, PdfSharp и SelectPdf, предоставив пошаговые инструкции и примеры кода для каждого подхода. В зависимости от ваших конкретных требований и предпочтений вы можете выбрать метод, который наилучшим образом соответствует вашим потребностям. Имея в своем распоряжении эти методы, вы можете легко создавать PDF-документы из содержимого RichTextBox в своих приложениях C#.