Благодаря JanEggers из команды MQTTNET он помог мне решить эту проблему. Проблема была в том, что у меня есть класс myMqttServer, который переопределяет настройки в автозагрузке и главном классе. Поэтому мне нужно было удалить эти настройки и сделать это в классе myMqttServer. Подробности вы можете увидеть в этой ссылке на github.
Я думаю, что я нашел способ сделать это.
1) Когда пользователь нажимает Print, опросить DIV
2) Изображения на этом DIV генерируются API OpenLayers
3) Захватите URL каждого изображения
4) Захватите местоположение на экране каждого изображения
5) Переведите местоположение экрана в местоположение в реальном мире (для этого у меня есть API)
6) В рамках печати отправьте все URL-адреса изображений вместе с их реальными размерами
7) Разрешить серверу повторно запрашивать изображения и рисовать их в соответствующих местах.
Вы можете создать тег изображения из JavaScript, но не фактическое изображение в нем: JS не имеет команд для выделения памяти для растрового изображения, и у него нет команд для визуализации чего-либо на нем.
Обычное решение - иметь генератор отчетов на сервере, который создает изображение по запросу. Посмотрите на BIRT или JasperReports .
[РЕДАКТИРОВАТЬ] Исходя из вашего комментария, решение простое: изучите DIV, найдите URL для фонового изображения и замените DIV элементом IMG. Поместите URL-адрес в атрибут SRC и затем напечатайте.
Очень интересный вопрос.
На самом деле я решаю эту проблему с помощью ajax (передача позиций изображений на сервер, сервер создает одно изображение из частей, сохраняет его и отправляет URL-адрес клиенту). Мне не очень нравится это решение, но я пока не знаю другого.
Генерация изображений была возможна только в IE5 :( Затем по соображениям безопасности он был отброшен. Я все еще скучаю по нему.
Я действительно не думаю, что это возможно в браузере, конечно, не без какого-либо плагина.
Не могли бы вы отправить некоторую информацию о координатах или что-то еще на веб-сервер и таким образом, чтобы веб-сервер запрашивал одно и то же изображение карты с сервера изображений?
Нужно ли это делать на стороне браузера? Я видел, где вы можете сделать вызов на стороне сервера, а MIME-тип ответа сервера - это тип изображения. Я думаю, что пример, о котором я думаю, был для jpegs, закодированных в b64 в db, но процесс должен быть таким же. Ответом будут данные, которые в данный момент находятся в вашем DIV. Извините, если я далеко от базы.