В этой статье мы расскажем о реализации возможности печати документов в продукте Stimulsoft Reports.AVALONIA.

Описание проблемы

Для начала напомним, что генератор отчетов Stimulsoft Reports.AVALONIA появился относительно недавно – в версии наших продуктов 2023.4. Первые версии продукта не содержали возможности печати отчётов, что объясняется особенностями Avalonia UI. Дело в том, что это кроссплатформенный фреймворк, то есть, работающий под всеми основными операционными системами, что, в свою очередь, существенно осложняет реализацию функционала печати документов. Исходя из рекомендаций разработчиков платформы, единственный путь – это написание отдельного кода API для каждой операционной системы.

Решение

Мы решили эту проблему обходным путём: при нажатии на кнопку Печать выполняется так называемый «тихий» экспорт документа в PDF («тихий» экспорт означает процесс экспорта документа по дефолту, без показа окна настроек) и сохранение этого документа как временного файла в специальную папку. Далее – в зависимости от операционной системы.

Windows-системы

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

Сейчас печать будет происходить на установленном по умолчанию принтере. Если у пользователя есть несколько принтеров, и нужно выполнить печать не на дефолтном, мы можем добавить специальный класс, в котором указывается нужное имя (для этого напишите нам в поддержку). Важно!

Необходимо учитывать одну особенность ОС Windows: после печати сам документ в приложении закрывается, но само приложение может оставаться открытым. На это мы никак повлиять не можем.

Unix-системы (macOS, Linux)

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

Реализация печати в Reports.AVALONIA будет доступна в ближайшей минорной версии продуктов Stimulsoft.
Используя этот сайт, вы соглашаетесь на использование файлов Cookie для аналитики и персонализированного контента. Файлы Cookie хранят полезную информацию на вашем компьютере, чтобы помочь нам повысить эффективность и удобство использования. Для получения дополнительной информации, пожалуйста, прочтите Конфиденциальность и Использование Cookie.