Экспортировать элементы 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.