Экспортировать элементы SVG в PDF?

У меня есть визуализация, созданная d3 (библиотека визуализации javascript, аналогичная Protovis или Raphael, которая рисует материал с использованием элементов SVG). Vis является интерактивным, поэтому пользователь может взаимодействовать с ним и редактировать его. Когда пользователь удовлетворен своей визуализацией, я хотел бы, чтобы пользователь мог экспортировать эту визуализацию в виде PDF. Я пробовал несколько библиотек HTML в PDF, и они не работают с элементами SVG.

Это нормально, если это решение либо на стороне клиента, либо на стороне сервера. Я использую PHP-сервер, но также могут работать реализации Python или Java.

Поддержка браузера: в идеале это будет поддерживать все современные браузеры, но минимально я хотел бы поддерживать последние версии браузеров Firefox и webkit.

Ответ 1

Я не знаю каких-либо сильных библиотек PDF на стороне клиента.

Быстро возможным способом было бы отправить содержимое svg на сервер и использовать что-то вроде batik для java, чтобы превратить svg в pdf, а затем отправить ответ клиенту еще раз.

Вот ссылка SO для конверсии.

Ответ 2

Там также есть wkhtml2pdf, который может отображать что угодно webkit как PDF. Если вы хотите отобразить комбинацию SVG и HTML или хотите, чтобы какой-либо JavaScript выполнялся до того, как был сделан снимок PDF, для вас это здорово.

Ответ 3

PhantomJS также может растрировать url/html в PDF. Тот же бэкэнд (QTWebKit) с wkhtml2pdf.