English Indonesia Tiếng Việt عربي Español Italiano Türk فارسی Français Português Русский ไทย

Генерация PDF документов на C#

Wordize Reporting для .NET — инновационное решение для программной генерации PDF документов, которое поможет C#-разработчикам автоматизировать процессы создания отчётов любой сложности. Интегрируйте генерацию отчётов в ваши C# проекты и превращайте файлы JSON, XML в профессиональные PDF документы.

Ключевые преимущества PDF Report Generation на C#:

  • Быстрая интеграция с бизнес-процессами через .NET API
  • Лёгкая поддержка и обновление шаблонов документов
  • Встроенная интеграция с внешними источниками данных в форматах JSON, XML, CSV
  • Интеграция с любыми другими источниками данных, используя коллекции программных объектов в коде C#
  • Шаблонизация документов с использованием полей-плейсхолдеров вида '<<[field_name]>>' и технологии LINQ Reporting Engine, позволяющей работать с данными в функциональном стиле
  • Детальная настройка процесса генерации PDF документов через класс ReportBuilderOptions
  • Возможность работы с потоками ввода/вывода для оптимизации памяти

Сценарии автоматизации для PDF документов

  • Программная генерация договоров с данными клиентов
  • Формирование счетов и коммерческих предложений
  • Создание финансовых отчётов по данным бухгалтерии
  • Формирование технических спецификаций на основе проектных данных

Создать PDF файл на C#

Чтобы разобраться, как создавать PDF файлы на C# с использованием Report Generation API, загрузите ваш документ-шаблон и файл с данными (XML, JSON, CSV) через экранную форму. Укажите имя объекта источника данных, который используется в шаблоне, и запустите программную генерацию PDF файла. После запуска демо, скачайте созданный PDF документ и убедитесь в корректности подстановки данных из указанного файла-источника.

C#
Выполнить код
Загрузите шаблон документа
Загрузите файл данных
Выберите целевой формат из списка
using Wordize.Reporting;

var dataSource = new JsonDataSource("data.json");
ReportBuilder.BuildReport("Input.pdf", "Output.pdf", dataSource, "");
using Wordize.Reporting; var dataSource = new JsonDataSource("data.json"); ReportBuilder.BuildReport("Input.pdf", "Output.pdf", dataSource, ""); using Wordize.Reporting; using Wordize.Saving; var dataSource = new JsonDataSource("data.json"); var imageStreams = ReportBuilder.BuildReportToImages("Input.pdf", new ImageSaveOptions(SaveFormat.Pdf), new[] { dataSource }, new[] { "" }); foreach (var (stream, page) in imageStreams.Select((s, i) => (s, i))) { using var _ = stream; stream.Position = 0; using var file = File.Create($"Output_{page + 1}.pdf"); stream.CopyTo(file); }
using Wordize.Reporting;

var dataSource = new XmlDataSource("data.xml");
ReportBuilder.BuildReport("Input.pdf", "Output.pdf", dataSource, "");
using Wordize.Reporting; var dataSource = new XmlDataSource("data.xml"); ReportBuilder.BuildReport("Input.pdf", "Output.pdf", dataSource, ""); using Wordize.Reporting; using Wordize.Saving; var dataSource = new XmlDataSource("data.xml"); var imageStreams = ReportBuilder.BuildReportToImages("Input.pdf", new ImageSaveOptions(SaveFormat.Pdf), new[] { dataSource }, new[] { "" }); foreach (var (stream, page) in imageStreams.Select((s, i) => (s, i))) { using var _ = stream; stream.Position = 0; using var file = File.Create($"Output_{page + 1}.pdf"); stream.CopyTo(file); }
using Wordize.Reporting;

var dataSource = new CsvDataSource("data.csv", new CsvDataLoadOptions() { HasHeaders = true });
ReportBuilder.BuildReport("Input.pdf", "Output.pdf", dataSource, "");
using Wordize.Reporting; var dataSource = new CsvDataSource("data.csv", new CsvDataLoadOptions() { HasHeaders = true }); ReportBuilder.BuildReport("Input.pdf", "Output.pdf", dataSource, ""); using Wordize.Reporting; using Wordize.Saving; var dataSource = new CsvDataSource("data.csv", new CsvDataLoadOptions() { HasHeaders = true }); var imageStreams = ReportBuilder.BuildReportToImages("Input.pdf", new ImageSaveOptions(SaveFormat.Pdf), new[] { dataSource }, new[] { "" }); foreach (var (stream, page) in imageStreams.Select((s, i) => (s, i))) { using var _ = stream; stream.Position = 0; using var file = File.Create($"Output_{page + 1}.pdf"); stream.CopyTo(file); }
Выполнить код

Как создать отчет на C#

  1. Установите Wordize для .NET
  2. Добавьте ссылку на библиотеку (импортируйте библиотеку) в ваш проект C#
  3. Укажите шаблон документа и источник данных (JSON, XML, CSV, коллекция объектов в коде)
  4. Создайте документ на основе шаблона и данных
5%