6 Января 2025 Nikita 158166 120 0 В избр. Сохранено Авторизуйтесь Вход с паролем 5 Библиотек для Обработки PDF в C#, Которые Необходимо Знать В этой статье представлены 5 часто используемых библиотек для обработки PDF-документов на C#. Нравится 0 Tweet 0 Send Мнение автора может не совпадать с мнением редакции Работа с PDF-документами — это распространённая задача в современном программировании. Независимо от того, создаёте ли вы отчёты,Invoices или управляете формами, наличие правильной библиотеки может значительно упростить вашу работу. В этой статье мы рассмотрим пять библиотек для работы с PDF-документами на C#, сосредоточив внимание на бесплатных или открытых вариантах. Мы обсудим плюсы и минусы каждой библиотеки и предоставим простой пример «Hello World» для создания PDF.iTextSharpОбзорiTextSharp — это популярная библиотека PDF для .NET, которая позволяет разработчикам создавать и обрабатывать PDF-документы. Хотя у неё есть как бесплатные, так и платные версии, бесплатная версия является открытым исходным кодом под лицензией AGPL, что означает, что её можно использовать бесплатно, если приложение также является открытым. ПлюсыБогатый функционал: Поддерживает продвинутые функции PDF, такие как цифровые подписи, аннотации и соответствие PDF/A.Активное сообщество: Существует большая аудитория и обширная документация.Кроссплатформенность: Хорошо работает на различных платформах, включая .NET Core.МинусыЛицензия AGPL: Требование открывать код, если вы используете бесплатную версию, может быть барьером для некоторых разработчиков.Сложный API: API может быть сложным для простых задач, что требует более крутого обучения.Пример: «Hello World» в iTextSharpusing iTextSharp.text;using iTextSharp.text.pdf;using System.IO;class Program{ static void Main() { Document document = new Document(); PdfWriter.GetInstance(document, new FileStream("HelloWorld.pdf", FileMode.Create)); document.Open(); document.Add(new Paragraph("Hello World!")); document.Close(); }}PdfSharpОбзорPdfSharp — это библиотека с открытым исходным кодом для создания и обработки PDF-документов. Она проста в использовании и подходит для простых задач, таких как создание отчетов и счетов.ПлюсыПростота использования: API прост и понятен, что позволяет быстро начать работу.Хорошая производительность: Эффективно обрабатывает создание PDF, даже для больших документов.Открытый исходный код: Полностью бесплатна для использования с разрешительной лицензией.МинусыОграниченные функции: Не хватает некоторых продвинутых функций, доступных в других библиотеках, таких как заполнение форм и сложные варианты компоновки.Меньше документации: Хотя есть некоторая документация, её меньше, чем у других библиотек.Пример: «Hello World» в PdfSharpusing PdfSharp.Drawing;using PdfSharp.Pdf;class Program{ static void Main() { PdfDocument document = new PdfDocument(); document.Info.Title = «Создано с помощью PDFsharp»; PdfPage page = document.AddPage(); XGraphics gfx = XGraphics.FromPdfPage(page); XFont font = new XFont("Verdana", 20, XFontStyle.Bold); gfx.DrawString("Hello World!", font, XBrushes.Black, new XPoint(20, 50)); document.Save("HelloWorld.pdf"); }}MigraDocОбзорMigraDoc — это библиотека для создания документов, которая может генерировать PDF-документы с помощью PdfSharp. Она предоставляет более высокий уровень API для создания документов, что особенно полезно для генерации отчетов и сложных компоновок.ПлюсыВысокий уровень API: Проще создавать сложные документы с разделами, абзацами и таблицами.Интеграция с PdfSharp: Хорошо работает с PdfSharp для рендеринга PDF.Открытый исходный код: Бесплатно для использования под лицензией с открытым исходным кодом.МинусыКривая обучения: Хотя упрощает создание документов, может потребоваться время для понимания его структуры.Ограниченные примеры: Документация содержит меньше примеров по сравнению с другими библиотеками.Пример: «Hello World» в MigraDocusing MigraDoc.DocumentObjectModel;using MigraDoc.Rendering;class Program{ static void Main() { Document document = new Document(); Section section = document.AddSection(); section.AddParagraph("Hello World!"); PdfDocumentRenderer renderer = new PdfDocumentRenderer(); renderer.Document = document; renderer.RenderDocument(); renderer.PdfDocument.Save("HelloWorld.pdf"); }}QuestPDFОбзорQuestPDF — это современная библиотека для создания PDF-документов в .NET. Она использует флюентный API для построения документов, что делает её интуитивно понятной и простой в использовании. QuestPDF поддерживает как .NET Framework, так и .NET Core.ПлюсыФлюентный API: Очень интуитивно понятно и легко читается, что делает код чистым и удобным для поддержки.Гибкие компоновки: Поддерживает сложные компоновки и динамическое генерирование контента.Активная разработка: Регулярные обновления с новыми функциями и улучшениями.МинусыНовая библиотека: Будучи относительно новой, она может не иметь столько ресурсов и примеров, как более старые библиотеки.Производительность: В некоторых сценариях производительность может уступать более устоявшимся библиотекам.Пример: «Hello World» в QuestPDFusing QuestPDF.Fluent;using QuestPDF.Helpers;using QuestPDF.Infrastructure;class Program{ static void Main() { Document.Create(container => { container .Page(page => { page.Content() .Column(column => { column.Item().Text("Hello World!"); }); }); }).Save("HelloWorld.pdf"); }}Free Spire.PDF for .NETОбзорFree Spire.PDF для .NET — это мощная библиотека для работы с PDF, которая позволяет разработчикам создавать, читать, изменять и конвертировать PDF-документы без необходимости использования Adobe Acrobat. Она поддерживает широкий спектр функциональных возможностей PDF, что делает её универсальным инструментом для любого разработчика на C#.ПлюсыБез зависимостей: Не требует внешних зависимостей или программного обеспечения третьих сторон.Богатый функционал: Поддерживает множество функций PDF, включая текст, изображения, таблицы и поля форм.Простота использования: Простой API, который легко понять и реализовать.Документация: Хорошо документирована с множеством примеров.МинусыОграничения в бесплатной версии: Бесплатная версия имеет некоторые ограничения на количество страниц, которые можно генерировать или обрабатывать.Пример: «Hello World» в Free Spire.PDFusing Spire.Pdf;using Spire.Pdf.Graphics;using System.Drawing;class Program{ static void Main() { // Создайте новый PDF-документ PdfDocument doc = new PdfDocument(); PdfPageBase page = doc.Pages.Add(); // Установите шрифт и кисть PdfFont font = new PdfFont(PdfFontFamily.Helvetica, 20); PdfBrush brush = PdfBrushes.Black; // Нарисуйте текст page.Canvas.DrawString("Hello World!", font, brush, new PointF(10, 10)); // Сохраните документ doc.SaveToFile("HelloWorld.pdf"); doc.Close(); }}ЗаключениеКаждая из библиотек, рассмотренных в этой статье, имеет свои сильные и слабые стороны, что делает их подходящими для различных типов проектов.iTextSharp превосходит в продвинутых функциональностях, но имеет лицензионные ограничения.PdfSharp идеален для простых задач, но не хватает некоторых продвинутых функций.MigraDoc предоставляет API более высокого уровня для сложных документов.QuestPDF предлагает современный подход с флюентным API, но всё ещё развивает своё сообщество.Free Spire.PDF отлично подходит для общего использования с богатым набором функций.При выборе библиотеки учитывайте конкретные требования вашего проекта, включая функции, лицензирование и удобство использования. С правильной библиотекой работа с PDF-документами на C# может стать простой и приятной задачей. 0 Авторизуйтесь В избр. Сохранено Авторизуйтесь Вход с паролем Нравится 0 Tweet 0