2014-10-07 3 views
1

Я разрабатываю веб-приложение с использованием MVC на стороне клиента. Стек технологии - Backbone JS, HTML5 и Spring на стороне сервера.создать файл PDF в JS

У меня есть требование, когда я делаю некоторые манипуляции с данными на стороне клиента, используя Javascript, используя файлы JSON в качестве полезной информации данных, хранящейся на веб-сервере напрямую. Это высокая часть трафика приложения, и я не хочу ударять по моему серверу приложений для таких манипуляций с данными.

Теперь на том же модуле - у меня есть требование, когда мне нужно создать файл PDF, который фактически содержит статический шаблон, а затем мне нужно заполнить шаблон, используя те же самые данные, которые у меня уже есть на стороне клиента. Мне нужно сгенерировать PDF-файл и загрузить его.

Любая идея, как я могу полностью ее понять на стороне клиента чистым и надежным способом.

+0

Я думаю, вы также должны принять во внимание поддержку браузера для старых браузеров, так что бэкэнд-решение может быть лучше –

+0

Я думаю, что важно упомянуть, что этот сайт также должен использоваться на мобильных устройствах. – Abby

+0

Если бы это был я, я бы попытался сделать серверное PDF-образование, и я мог бы использовать такой инструмент, как wkhtmltopdf или princexml, для создания PDF с постоянными результатами независимо от клиентского браузера. Однако, если вы должны сделать это на стороне клиента, вы можете рассмотреть DocRaptor (https://docraptor.com/), который предоставляет HTML-to-PDF в качестве веб-службы. Предположительно, клиент может отправлять HTML и CSS в DocRaptor, а затем извлекать PDF-файл. Я не использовал DocRaptor, но я знаю, что он основан на PrinceXML. –

ответ

1

Из чего я понимаю, у вас есть html-шаблон, который вы хотите заполнить определенными данными, а затем визуализировать его как pdf?

На стороне клиента попытались взглянуть на что-то вроде jsPdf (http://parall.ax/products/jspdf)? Средство просмотра html все еще находится на ранних стадиях, но, похоже, работает прилично.

Как указал Богдан, возможно также использование бэкэнд. Вы можете посмотреть pd4ml (http://pd4ml.com/) или даже вызвать что-то вроде pandoc (http://johnmacfarlane.net/pandoc/) или даже phantomjs (http://phantomjs.org/), чтобы выполнить преобразование, а затем передать сгенерированный PDF-файл обратно клиенту.

Если это не шаблон html, я уверен, что ряд вышеуказанных решений должен работать независимо.

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