2012-01-31 5 views
11

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

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

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

+0

** jsPDF ** можно использовать для добавления SVG в файл PDF. См. Этот разговор: http://stackoverflow.com/questions/5913338/embedding-svg-in-pdf-exporting-svg-to-pdf-using-js – stackex

ответ

6

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

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

Относительно SO for the converstion.

+2

Highcharts (с использованием svg-диаграмм на стороне клиента) использует Batik для создания pdf/jpg таким образом, и он работает очень хорошо. (Http://www.highcharts.com/documentation/how-to-use#exporting). – eolsson

+0

Ничего себе. Великий. Я знал о Highcharts, но не знал, что они интегрированы. Спасибо за ссылку! –

+0

Просто получил работу Батика, спасибо за ссылку на эту дискуссию. – raviparikh

5

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

1

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

Смежные вопросы