Я разрабатываю веб-приложение, которое принимает пользовательские входы, выполняет инженерные вычисления, а затем отображает отформатированный отчет или графику. Графика - это инженерные диаграммы, а не всегда стандартные графики, такие как круговые диаграммы. Основная функция приложения - предоставить пользователю возможность копировать эти диаграммы из браузера в документ Word или Excel.
Мне нужно сделать выбор при использовании SVG, сгенерированного на клиенте, или растровых изображений, сгенерированных на стороне сервера. Я предпочитаю подход SVG, и прототипирование выглядит неплохо, однако копирование SVG-графика, по-видимому, непоследовательно поддерживается в браузерах, особенно если график показан в div (т.е. Вся страница не является .svg). Например, IE показывает "копию" в раскрывающемся списке, но копирует только часть изображения SVG в буфер обмена. Chrome не дает опции копирования, если я нажимаю правой кнопкой мыши на графике SVG.
Если я вокруг Google, я с удивлением вижу, как мало информации о проблеме получения изображения SVG из веб-приложения в буфер обмена.
Мой вопрос для читателей, которые справились с этой проблемой:
-
Существует ли последовательный способ получить элемент SVG, который является частью больше DOM в буфер обмена, предпочтительно используя JavaScript;
-
Любые другие рекомендации, учитывая мое требование получения графики от браузера до буфера обмена?