2015-09-14 3 views
0

У меня есть HTML-отчеты, созданные классическим ASP, и мне нужно, чтобы они были преобразованы в PDF. Поиск решения Я обнаружил phantomJS, у которого есть «rasterize.js», функциональность, которая будет принимать HTML и выводить его как PDF.Позвоните в phantomjs с веб-страницы

Проблема в том, что я не могу понять, как назвать phantomJS с моей исходной/текущей веб-страницы.

Идея, которую я имел в виду, заключается в том, что моя текущая веб-страница вызывает phatomjs, отправляющую свой HTML-контент, а затем phantomjs вызывает rasterize.js и выводит PDF на сервер, тогда я бы получил имя недавно созданного PDF и подал его назад к клиенту.

Есть ли способ, которым это можно было бы сделать?

+0

Для уточнения, phantomjs будет запущен на сервере, а не клиента. Верный? – pguardiario

+0

Да, phantomjs находится на сервере. – Art

ответ

1

Phantomjs не предназначен для работы в браузере, насколько я знаю.

У вас есть различные варианты для этого:

  1. использовать libaray как https://parall.ax/products/jspdf который имеет метод fromHTML для визуализации содержимого HTML в PDF
  2. Отправить содержание HTML на удаленный сервер, который визуализирует PDF и отправить он возвращается к вам, мой друг вносит свой вклад в это https://github.com/piobyte/flamingo. Это он сервер, который делает это.
  3. Используйте своего рода обмен сообщениями (например, websocket), чтобы сообщить удаленному серверу о том, как отобразить вашу страницу, и предоставить пользователю ссылку для загрузки.
+0

Я думаю, что дам jsPDF попробовать. Говорят, что визуализатор HTML находится на ранних этапах, но я увижу. Спасибо за советы. – Art

0

Вы можете вызвать phantomjs с сервера путем обхода его. В большинстве языков, которые будут выглядеть как:

`phantomjs myscript.js` 
Смежные вопросы