Как экспортировать отчёт из FastReport .NET в доступный PDF (PDF/UA-1)

12.10.2026

Как экспортировать отчёт из FastReport .NET в доступный PDF (PDF/UA-1)

Доступная среда для людей с ограниченными возможностями — не просто тренд, а законодательное требование во многих странах. В США действует Закон об американцах с ограниченными возможностями (ADA), в Евросоюзе — Директива о доступности (EN 301 549). Оба документа обязывают государственные учреждения и частные компании предоставлять информацию в форматах, пригодных для восприятия вспомогательными технологиями.

Обычный PDF без учёта доступности — это лишь набор визуальных элементов на странице. Скринридеры (программы, которые озвучивают содержимое экрана и используются людьми с нарушениями зрения) не понимают, где заголовок, где таблица, а где декоративная рамка. Чтобы решить эту проблему, Международная организация по стандартизации (ISO) разработала стандарт PDF/UA (PDF for Universal Accessibility), формально — ISO 14289-1. Это первый полностью доступный стандарт, опубликованный ISO — сам распространяемый файл стандарта соответствует PDF/UA.

Поддержка PDF/UA-1 реализована в генераторе отчётов FastReport .NET с версией 2027.1, что позволяет разработчикам создавать доступные документы без привлечения сторонних инструментов.

 


 

В этой статье мы

  • разберём, что такое PDF/UA-1 и чем доступный PDF отличается от обычного;
  • покажем, как настроить экспорт отчёта FastReport .NET в PDF/UA-1 через пользовательский интерфейс и через код на C#;
  • расскажем, какую структуру документа FastReport формирует автоматически, а что нужно настроить вручную;
  • перечислим инструменты для проверки готового файла на соответствие стандарту.

 


 

Что такое PDF/UA-1

Визуально PDF/UA-документ неотличим от обычного PDF: те же страницы, шрифты, цвета и картинки. Отличие скрыто внутри файла — в нём есть «каркас»: структура, которая сообщает скринридеру, где заголовок, где таблица и в каких ячейках что находится, где изображение и что оно изображает, где начинается и заканчивается ссылка и в каком порядке документ нужно читать. Декоративные элементы — линии, рамки, фон страницы — помечаются отдельно, чтобы скринридер их пропускал, а не озвучивал.

Пример структуры PDF/UA в Adobe Acrobat

 


 

Экспорт через пользовательский интерфейс

Для экспорта отчёта в PDF используется кнопка «Сохранить» на панели инструментов дизайнера: в выпадающем меню выбирается пункт «PDF формат…».

Экспорт отчёта в формат PDF

В диалоге экспорта задаются три параметра:

  1. Вкладка «Настройки», поле «Стандарт PDF» — в выпадающем списке выбирается PDF/UA. Экспорт формирует документ стандарта PDF/UA-1 (ISO 14289-1:2014). Остальные параметры диалога (внедрение шрифтов, сжатие изображений и т. д.) работают как обычно.

Диалог экспорта в PDF, выбор стандарта PDF/UA

  1. Вкладка «Информация», поле «Заголовок» — название документа. Для PDF/UA это обязательное поле: без заголовка документ не проходит проверку валидаторами (например, PAC — PDF Accessibility Checker).
  2. Вкладка «Информация», поле «Язык документа» — язык документа в формате en-US, de-DE и т. п. Поле активно только при выбранном стандарте PDF/UA, так как язык обязателен по стандарту. Если поле оставить пустым, будет использована текущая языковая версия системы, но рекомендуется указывать язык явно.

Вкладка «Информация», заполнены поля «Заголовок» и «Язык документа»

На этом настройка экспорта завершена: сформированный файл уже соответствует стандарту PDF/UA-1.

 


 

Что FastReport делает автоматически

При экспорте в PDF/UA структура документа формируется автоматически из содержимого отчёта:

Элемент отчёта Результат в документе
Текстовый объект Абзац
Таблица Полная структура таблицы: строки, заголовки и данные; первая строка и первый столбец считаются заголовками
Картинка Иллюстрация (Figure) с альтернативным текстом. Если текст не задан, используется имя объекта (не рекомендуется)
Гиперссылка Ссылка: скринридер озвучивает текст ссылки, а не URL
Поле цифровой подписи Элемент формы
Линии и фигуры без роли, пустые текстовые объекты, фон страницы, водяной знак, рамки ячеек Декоративный элемент (Artifact) —скринридер его пропускает

Такой подход покрывает большинство отчётов без какого-либо дополнительного оформления: достаточно задать PDF/UA в диалоге экспорта.

 


 

Настройка структуры в дизайнере

Автоматическая структура — разумный минимум, но разработчик отчёта может уточнить её. В свойства объектов отчёта добавлена новая категория PDF/UA с двумя свойствами:

Свойства объекта, категория PDF/UA

  • SemanticRole – роль элемента в структуре документа. 
Значение Назначение
H1…H6 Заголовки документа. Скринридер строит по ним оглавление и позволяет читателю перемещаться по документу
P Обычный абзац (по умолчанию для текстов)
Figure Значимая картинка или диаграмма
Table, TR, TD, TH Структура таблицы
Form Поле формы
Link Ссылка
  • AltText – альтернативный текст элемента. Для картинок это описание того, что изображено (например, «Диаграмма продаж за 2026 год»). Если описание не задать, скринридер озвучит имя объекта, что обычно малоинформативно. AltText также используется для ссылок: если он не задан, озвучивается текст самой ссылки.

Типичные случаи:

  1. Название отчёта — текстовому объекту задать SemanticRole = "H1".
  2. Логотип или фирменный блок — AltText = "Логотип компании".
  3. Линия или фигура, несущая смысл (график, схема) — SemanticRole = "Figure" и AltText с описанием; без роли фигура считается декором и не озвучивается.

Важно: если роль задана явно, её пригодность для данного типа объекта не проверяется. Ответственность за корректность назначения ролей полностью переходит к разработчику отчёта.

 


 

Экспорт через код на C#

Тот же результат можно получить программно. В примере ниже заданы стандарт PDF/UA, заголовок и язык документа, роли и альтернативный текст для двух объектов:

// Загрузить отчёт
Report report = new Report();
report.Load(@"C:\Reports\Invoice.frx");
 
// Роли и альтернативный текст
((TextObject)report.FindObject("ReportTitle")).SemanticRole = "H1";
((PictureObject)report.FindObject("Logo")).AltText = "Логотип компании";
 
// Экспорт в PDF/UA
PDFExport pdfExport = new PDFExport();
pdfExport.PdfCompliance = PDFExport.PdfStandard.Pdf_UA;
pdfExport.Title = "Title";
pdfExport.DocumentLanguage = "de-DE";
 
report.Prepare();
report.Export(pdfExport, "Invoice.pdf");

 


 

Проверка результата

Любой PDF/UA-документ можно проверить бесплатными валидаторами:

  • veraPDF — командный валидатор; для PDF/UA-1 существует профиль из 106 правил.

Успешная проверка отчета EmployeeList с помощью veraPDF

  • PAC (PDF Accessibility Checker) — более строгий валидатор, выполняющий проверки на соответствие PDF/UA-1, WCAG 2.2, качество и AI-анализ доступности. Стоит учесть, что AI-проверки могут выдавать ложные срабатывания, но это не влияет на фактическое соответствие документа стандарту PDF/UA-1.

Успешная проверка отчета EmployeeList с помощью PAC


 

Заключение

Поддержка PDF/UA-1 в FastReport .NET позволяет формировать доступные документы без привлечения сторонних средств. Разметка структуры выполняется автоматически, и по умолчанию разработчику отчёта не нужно ничего делать, кроме как задать альтернативный текст для значимых изображений и выбрать стандарт PDF/UA в настройках экспорта. При необходимости теги можно дополнительно уточнить через свойства объектов.

.NET FastReport PDF C# Экспорты Дизайнер Отчет
12 октября 2026

GS1 DataBar Expanded Stacked: особенности и настройка в FastReport .NET

GS1 DataBar Expanded Stacked — многострочный штрихкод для товаров: кодирует GTIN, срок годности, вес, номер партии. Узнайте, как работает символика и настройка Segments в FastReport .NET.
12 октября 2026

Экспорт отчёта в XML из Preview в FastReport .NET

Узнайте, как сохранить отчёт в формате XML в FastReport .NET: экспорт из Preview без кода и программный экспорт через XMLExport с настройкой параметров.
8 сентября 2026

Ответы на популярные вопросы о формате FP3

Разбираем 11 частых вопросов о формате FP3: что это за файлы, чем отличаются от FR3, какие программы их открывают и как конвертировать в PDF.

Не является публичной офертой
© 1998-2026 ООО «Быстрые отчеты»