Эта страница может содержать автоматически переведенный текст.
Библиотека .NET для генерации PDF-файлов
Генерируйте PDF-документы с помощью API разметки, который позволяет создавать PDF-файлы настолько сложные или простые, насколько вам нужно. Опишите макет вашего документа в коде, используя Fluent API. Мощный генератор PDF-файлов на C# с поддержкой разбиения на страницы сделает все остальное.
Используйте структурные элементы в качестве строительных блоков в коде C# или VB.NET для создания идеальных документов. Элементами являются страницы, контейнеры, таблицы, абзацы, изображения, ссылки и т.п. Библиотека автоматически разбивает содержимое документа на страницы. Вы можете добавлять верхние и нижние колонтитулы страниц. API поддерживает пользовательские повторно используемые компоненты. Layout API предлагает встроенные компоненты, такие как оглавление или водяные знаки.
API разметки доступен как бесплатное дополнение к библиотеке Docotic.Pdf. И библиотека, и надстройка представляют собой библиотеки DLL с управляемым кодом на 100%. У них нет сторонних внешних зависимостей. Вы можете использовать API для создания PDF-документов в Windows, Linux, в облачных средах Amazon и Azure. macOS, iOS и Android тоже подойдут.
Docotic.Pdf и дополнение Layout доступны в NuGet и на нашем сайте. Получите библиотеку, дополнение и бесплатный лицензионный ключ с ограниченным сроком действия на странице Скачать PDF библиотеку C# .NET.
9.5.17615-dev 9.5.17615-dev14,813 прошло Всего загрузок NuGet 4,924,084
Текучий API для создания PDF
Надстройка предоставляет текучий API. Вы можете объединить большую часть вызовов. Это приводит к более компактному коду, чем при использовании «декларативных» фреймворков. И вы по-прежнему можете использовать все обычные подходы к разработке кода. Например, вы можете сделать реализацию макета более лаконичной, повторно используя вспомогательные классы и методы.
Как создать PDF-документ на C#
Хорошо, пришло время привести примеры.
Привет, PDF!
Вот простой пример, показывающий, как создать PDF-файл на C# с помощью Layout API. Он создает документ с двумя страницами. Это своего рода синтетический пример, но он иллюстрирует принцип работы API.
PdfDocumentBuilder.Create().Generate("pages.pdf", doc =>
{
doc.Pages((PageLayout page) =>
{
page.Size(PdfPaperSize.A5);
page.Header().PaddingTop(70).AlignCenter().Text("Hello, PDF!");
page.Content().Column(c =>
{
for (int i = 0; i < 10; i++)
c.Item().AlignCenter().Text($"Page 1 block {i + 1}");
c.Item().PageBreak();
c.Item().Text("Page 2");
});
page.Footer().Text(t => t.CurrentPageNumber());
});
});
Метод PdfDocumentBuilder.Generate предоставляет экземпляр класса Document. Используя объект и его метод Pages, можно определить макет для одной или нескольких страниц.
Пример кода устанавливает размер страницы и описывает содержимое в слотах Header
, Content
и
Footer
. Все эти слоты имеют один и тот же тип
LayoutContainer. LayoutContainer
— это ключевой
строительный блок API разметки. Используя контейнеры, вы можете создавать произвольные макеты.
Механизм компоновки генерирует страницы, содержащие все данные. Точное количество страниц зависит от содержимого в PageLayout.Content и других слотах. Библиотека повторяет содержимое слотов Header и Footer на каждой странице. Все страницы будут иметь одинаковый размер.
Чтобы иметь страницы с разным макетом или разным размером, используйте более одного вызова метода Pages.
Создать текстовый PDF-файл на C#
Распространенной задачей является преобразование текстовой строки в файл PDF. Следующий код использует API разметки для создания PDF-документа из текстового файла на C#.
PdfDocumentBuilder
.Create()
.Generate("long-text.pdf", doc => doc.Pages(page =>
{
string text = File.ReadAllText(@"PDF_Succinctly.txt");
page.Content().Text(text);
}));
Код считывает весь текст из файла и использует его для слота Content. Нет необходимости рассчитывать какие-либо размеры или делить текстовую строку на куски. Дополнение Layout берет на себя все эти задачи. Используя API, можно легко преобразовать текст в PDF в коде C#.
Зашифровать PDF в .NET
Чтобы создать зашифрованный PDF-файл, используйте обработчик шифрования, как показано в следующем примере кода C#.
PdfDocumentBuilder
.Create()
.Encryption(new PdfStandardEncryptionHandler("owner", "user"))
.Generate("encrypted-with-password.pdf", doc => doc.Pages(page =>
{
// разметьте содержимое страниц здесь
}));
Библиотека создаст PDF-файл, зашифрованный паролями пользователя и владельца. Можно указать разрешения PDF для пользователей зашифрованного документа. Вы также можете защитить PDF-файлы с помощью сертификатов.
Дополнительная информация
Layout API предоставляет множество средств для создания PDF-файлов на C#. Рекомендуем вам прочитать о них в следующих статьях: