Экспорт Blazor PDF: рекомендации по использованию radzen dataGrids или пользовательского HTML/CSS?C#

Место общения программистов C#
Anonymous
Экспорт Blazor PDF: рекомендации по использованию radzen dataGrids или пользовательского HTML/CSS?

Сообщение Anonymous »

Я работаю над приложением Blazor, в котором интенсивно используются компоненты radzen, и ищу лучший подход или библиотеку для обработки двух очень разных требований к экспорту PDF в одном проекте.
Контекст:

1. Первая страница (сложный и векторный экспорт)

Это родительская страница, содержащая множество подкомпонентов radzen (в основном dataGrids).
-> Ограничения: PDF-файл должен правильно отображать все разделы. Обработка разрывов страниц имеет решающее значение: DataGrids не должны быть обрезаны посередине. Кроме того, текст должен оставаться доступным для выбора, а конечный размер файла должен оставаться небольшим.

2. Вторая страница (визуальная точность HTML/CSS)

На этой странице используется несколько компонентов Radzen, но основная структура (большая сложная таблица) закодирована на чистом HTML/CSS, поскольку предполагается, что она выглядит как физический клапан.
-> Ограничения: экспорт должен быть точным зеркалом веб-страницы. В этом конкретном случае наличие выбираемого текста не является обязательным; подход к DOM в стиле «скриншот» приемлем, если он полностью соответствует дизайну.

Я изучил несколько вариантов (QuestPDF, который кажется идеальным для пункта 1, но требует переписывания всего на C#, или инструменты на основе Chromium, такие как PuppeteerSharp, которые сохраняют CSS, но более тяжелые).

Мой вопрос:
Какую библиотеку (или комбинацию инструментов) вы бы порекомендовали для эффективной обработки этих двух сценариев? Лучше ли придерживаться одного инструмента (например, делать все в QuestPDF или все через Puppeteer) или мне следует использовать разные подходы в зависимости от страницы?

Вернуться в «C#»