Я хотел бы предложить следующее решение.
Прежде всего, независимо от того, какой интерфейс вы сейчас используете.
Если я правильно понял вашу идею, вам нужно иметь рисунок / скриншот диаграммы d3js , чтобы использовать ее в PDF в будущем . Это правильно?
Вам нужно написать утилиту, чтобы иметь возможность открывать реальную веб-страницу с компонентом диаграммы и делать снимок экрана (с желаемым разрешением). Это может быть, например, комбинация транспортира с браузером Chrome. , (существует множество решений, на самом деле, мы могли бы даже использовать PhantomJS . По моему опыту, использование Транспортир проще и проще в реализации). Кроме того, Транспортир имеет внутреннюю функцию, позволяющую делать скриншоты страницы и сохранять ее в определенной папке.
Какие преимущества мы получаем благодаря этому решению:
- единственное место с исходным кодом, связанным с рендерингом диаграммы
- 100% уверены, что просмотр графика такой же, как и на реальной веб-странице (с
другие угловые компоненты)
- нам не нужно искать способ рендеринга SVG на стороне Node.JS и т. Д. ...
Работа может выглядеть следующим образом:
- Запустите задачу NPM / Gulp / Grunt (что угодно), чтобы открыть
страница вашего веб-приложения с помощью браузера Protractor и Chrome.
- Открыть фиктивную страницу только с компонентом диаграммы + слой данных.
- Сделайте скриншот и сохраните в определенную папку. Используйте скриншот
диаграммы внутри PDF (вручную или с помощью другого инструмента)