Предположим, я разрабатываю веб-страницу с использованием классного API визуализации Google, и он делает все, что хочет пользователь. Они могут параметры, посмотреть на графики и распечатать страницу, чтобы получить разумный отчет. Все хорошо.
Теперь предположим, что я хочу сделать то же самое на стороне сервера. Например, скажем, нам нужен набор отчетов, созданный в определенное время дня, распечатанный в PDF и отправленный по электронной почте менеджеру. Это не инициированное пользователем действие, поэтому у нас нет браузера пользователя или его принтера. У нас есть URL, который бы отображал отчет, если бы у нас был браузер, и все.
Есть ли хороший способ сделать это на стороне сервера? Это просто глупо? Кто-нибудь делал что-то подобное раньше? Есть ли в каких-либо основных браузерах API-интерфейсы, которые могли бы предоставлять такую функциональность?
Имейте в виду, что это не просто статический HTML; возможно, сначала будет запущен javascript, чтобы сдвинуть DOM.
Я знаю, что мы могли бы реализовать для этого совершенно другой механизм отчетности на стороне сервера, но это (a) будет генерировать отчеты, которые выглядят немного по-другому, и (b) требует, чтобы я создал / поддерживал два набора функций.
Вместо этого, я был бы рад, если бы я мог просто отобразить нужную мне страницу / страницы в невидимом серверном браузере и распечатать ее в PDF (давайте в основном проигнорируем этот шаг - я знаю любое количество драйверов принтеров PDF, которые мог сделать это).
Я действительно не хочу делать это безобразно - то есть, запуская процесс браузера и затем посылая нажатия клавиш непосредственно в окно - это просто обязательно развалится с небольшим толчком. Единственный связанный с вопрос, который я нашел , имел такой ответ.
Любой совет приветствуется!