3 PDF-библиотеки C#, которые должен знать каждый разработчик

3 PDF-библиотеки C#, которые должен знать каждый разработчик

22 мая 2022 г.

PDF означает Portable Document Format. PDF обеспечивает гибкость, что означает, что он может быть изменен любым способом, который пожелает автор. Сегодня у нас есть доступ ко многим другим замечательным цифровым форматам, таким как DOCX и PPTX.


Тем не менее, PDF по-прежнему широко популярен благодаря своей долгой истории успеха и широкой совместимости с устройствами. Некоторые люди утверждают, что PDF более удобен, чем эти новые форматы, потому что его можно просматривать на разных устройствах без необходимости преобразования.


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


Это общие проблемы, с которыми сталкиваются разработчики при программном редактировании PDF-документов в своих приложениях.


  • Как вы настраиваете или редактируете шрифты в печатных документах практически без усилий?

  • Правильный способ печати нескольких страниц на одном листе.

  • Какие функции можно добавить или убрать из файла PDF?

  • Как создать файл PDF, который нельзя редактировать?

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


Изменять PDF программно непросто, но с помощью подходящего инструмента вы можете упростить изменение, прочитав метаданные исходного файла и извлекая определенную информацию из исходного кода вашей системы.


Итак, в этой статье я расскажу о трех библиотеках для создания PDF-файлов, которые разработчики должны знать для модификации PDF-файлов.


1. ЖелезоPDF


Когда дело доходит до создания PDF-файлов в ядре .NET, существует множество библиотек. Однако, если у вас есть сложный проект и вам нужна максимальная производительность при создании PDF-файлов, IronPDF — идеальный выбор. IronPDF — это высокопроизводительная библиотека .NET PDF с API, оптимизированным для использования с другими технологиями Microsoft.


Это одна из самых передовых и мощных библиотек PDF, доступных на сегодняшний день. IronPDF предоставляет разработчикам такие же высококачественные возможности, как кодирование и безопасность, так и конечным пользователям. Это отдельный компонент PDF для использования.


Библиотеку IronPDF можно использовать для создания, редактирования и управления файлами PDF всего несколькими строками. Он поддерживает различные виды операций по редактированию файлов PDF и управлению ими, включая извлечение текста и вставку текста в существующие файлы PDF.


Библиотека имеет функции, упрощающие разработчикам создание безопасных, удобных и настраиваемых преобразований HTML в PDF и изменение файлов PDF. Эти функции включают блокировки PDF, ограничения редактирования и безопасность PDF.


Разработчики также имеют доступ к API для настройки сгенерированного вывода без использования дополнительного программного или аппаратного обеспечения. Некоторые из его функций включают возможность создавать адаптивные макеты; создание верхних и нижних колонтитулов; поля; и преобразование изображений в PDF-файлы. IronPDF также имеет инструменты для преобразования PDF-файлов в форматы XML, XPS или JPG.


Вы также можете преобразовать строку HTML или файл HTML в документ PDF. IronPDF использует строки HTML для создания документов в формате PDF. Это делает создание PDF очень простым. Основная цель IronPDF — быть простой, но мощной и гибкой библиотекой, которую разработчики могут использовать для создания PDF-документов из изображений или других источников. Давайте посмотрим на пример кода IronPDF.


Пример кода:


HTML to pdf:


```javascript


с помощью IronPdf;


var Renderer = новый IronPdf.ChromePdfRenderer();


используя var PDF = Renderer.RenderHtmlAsPdf("

Html с CSS и изображениями

")


PDF.SaveAs("pixel-perfect.pdf");


Изображения в PDF:


```javascript


// PM>Установка-Пакет IronPdf


с помощью IronPdf;


с помощью System.IO;


с помощью System.Linq;


// Одно или несколько изображений как IEnumerable. В этом примере выбираются все изображения JPEG в определенной папке.


var ImageFiles = System.IO.Directory.EnumerateFiles(@"C:\project\assets").Where(f => f.EndsWith(".jpg") || f.EndsWith(".jpeg"));


// Преобразование изображений в PDF и сохранение.


ImageToPdfConverter.ImageToPdf(ImageFiles).SaveAs(@"C:\project\composite.pdf");


Верхние и нижние колонтитулы:


```javascript


// PM>Установка-Пакет IronPdf


с помощью IronPdf;


IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();


// Создайте нижний колонтитул, используя html для стилизации текста


// объединяемые поля:


// {страница} {всего страниц} {url} {дата} {время} {html-заголовок} и {pdf-заголовок}


Renderer.RenderingOptions.HtmlFooter = новый HtmlHeaderFooter()


MaxHeight = 15, // миллиметров


HtmlFragment = "

{страница} из {всего страниц}
",


DrawDividerLine = истина


Вы видели, что пользоваться этой библиотекой очень легко и просто. Это позволяет легко устанавливать с помощью пакетов NUGET. Мы можем изменить существующие документы PDF. Для получения дополнительных руководств вы можете посетить эту [ссылка] (https://ironpdf.com/tutorials/html-to-pdf/).


Лицензия


Бесплатная версия доступна для целей разработки. У IronPDF есть разные тарифные планы для частных лиц и компаний. Давайте посмотрим на тарифный план.


Лицензия IronPDF


2. PDFTron


PDFTron C# — это библиотека PDF, которая предоставляет множество служебных функций для создания, редактирования и управления документами PDF. PDFTron C предлагает множество функций, важных для цифровой трансформации организации.


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


Эта библиотека разработана как модульная и поэтому может использоваться в любом проекте, а не только в разработке программного обеспечения. Вы можете конвертировать PDF-документы в другие форматы. Вы также можете упорядочить страницы PDF.


Новая библиотека решает серьезные проблемы с масштабируемостью, существующие в традиционно примитивных методах создания, хранения и манипулирования цифровыми программными документами. Он будет хранить метаданные вместе с результирующими файлами в собственном формате, при необходимости встраивая содержимое в форматы XML или JSON.


Эта функция позволяет пользователям исследовать динамический контент в современных вычислительных средах без необходимости загружать громоздкие пакеты, такие как файлы ZIP или RAR, перед преобразованием. Давайте посмотрим на примеры кода:


Пример кода


Вставить страницы:


```javascript


PDFDoc new_doc = новый PDFDoc();


интервал_номер_страницы = 15;


for (целое i = 1; i <= page_num; ++i)


PDFDoc in_doc = новый PDFDoc(имя файла + "split_page" + i + ".pdf");


new_doc.InsertPages(i, in_doc, 1, in_doc.GetPageCount(), PDFDoc.InsertFlag.e_none);


new_doc.Save(output_filename + "_merge_pages.pdf", SDFDoc.SaveOptions.e_linearized);


Пустой PDF:


```javascript


// используем пустой конструктор для создания пустого PDF


Документ PDFDoc = новый PDFDoc();


// опционально выполнить некоторую обработку документа, используя операции чтения и записи


// находится в разделе «Редактирование содержимого страницы» или «Управление страницей»


// сохраняем документ в файловую систему


doc.Save(output_filename, SDFDoc.SaveOptions.e_linearized);


// опционально сохранить документ в буфер памяти


byte[] buf = doc.Save(SDFDoc.SaveOptions.e_linearized);


В приведенных выше примерах мы видим, что его легко использовать в наших программах. Почему-то параметры выглядят сложными для понимания новичком. PDFTron использует некоторые передовые концепции. Так что новичку будет сложно разобраться в его функциях. Но в целом PDFTron имеет хорошую производительность и производительность.


Лицензия


Если говорить о его лицензии, то у нас нет никакой информации, потому что мы должны связаться со службой поддержки, чтобы обсудить его тарифный план.


Лицензия PDFTron


3. КвестPDF


QuestPDF — это передовая библиотека, которая позволит вам создавать PDF-файлы в вашем приложении .NET, предлагая удобный API высокого уровня на C#. У него есть документация, которая показывает, как манипулировать PDF-файлами. Там также есть куча примеров и шаблонов проектирования, которые помогут вам быстро начать работу!


Эта библиотека предназначена для использования профессионалами при разработке макетов документов и разбиении на страницы. Альтернативные подходы, такие как конвертеры на основе HTML, не предназначены для этого и поэтому часто приводят к непредсказуемым результатам. QuestPDF был создан с использованием SkiaSharp, графической библиотеки с открытым исходным кодом.


PDF-файлы, созданные QuestPDF, имеют высокое качество, а это означает, что вы получите исключительный результат с меньшими усилиями. Он имеет хорошо оптимизированный механизм компоновки, который может генерировать более 1000 файлов PDF в минуту на каждое ядро. Он также является потокобезопасным.


Давайте посмотрим на QuestPDF и на то, как мы можем использовать QuestPDF в нашей программе.


Пример кода


```javascript


с помощью QuestPDF.Fluent;


с помощью QuestPDF.Helpers;


с помощью QuestPDF.Infrastructure;


// код в вашем основном методе


Документ.Создать(контейнер =>


контейнер.Страница(страница =>


страница.Размер(PageSizes.A4);


page.Margin(2, Единица измерения.Сантиметр);


page.Background(Цвета.Белый);


page.DefaultTextStyle(x => x.FontSize(20));


Заголовок страницы()


.Text("Привет, PDF!")


.SemiBold().РазмерШрифта(36).ЦветШрифта(Цвета.Синий.Средний);


страница.Контент()


.PaddingVertical(1, Единица.Сантиметр)


.Столбец (х =>


х.Интервал(20);


x.Item().Text(Placeholders.LoremIpsum());


x.Item().Image(Placeholders.Image(200, 100));


страница.Нижний колонтитул()


.Выровнять по центру()


.Текст(х =>


x.Span("Страница");


х.ТекущийНомерСтраницы();


.GeneratePdf("привет.pdf");


Его синтаксис очень сложен для понимания новичком. В приведенном выше примере мы видим, насколько сложна его структура по сравнению с IronPDF и PDFTron. Вы должны написать много строк кода для выполнения простых операций. Но это бесплатно для производства. Так что это плюс.


Лицензия


Если мы говорим о лицензии, то ее лицензия относится к лицензии MIT. Это с открытым исходным кодом прямо сейчас. Таким образом, разработчики могут использовать его бесплатно. Но его возможности ограничены. Не имеет большого разнообразия операций. Он предлагает некоторые основные операции.


Вывод


Напоследок сравню тарифные планы этих библиотек.


У IronPDF есть 3 тарифных плана от индивидуального до корпоративного. Он бесплатен для разработки и имеет 30-дневную бесплатную пробную версию. Цены очень разумные. Он начинается всего от 499 долларов.


У PDFTron тоже есть тарифный план, но он не виден. Вы должны связаться со службой поддержки, чтобы получить любую информацию о цене. Таким образом, есть вероятность, что они варьируют цены от человека к человеку.


QuestPDF полностью бесплатен, но его функции ограничены. У него нет особо сложных функций. Он предлагает только основные функции.


Выбор библиотеки PDF зависит от вас. Вы можете купить его в соответствии с вашими потребностями. Но IronPDF — самая дешевая и полнофункциональная библиотека, которую я использовал.



Оригинал