phantomJS - 将页面从客户端发送到侦听phantomJS的服务器

时间:2013-08-14 10:12:37

标签: select phantomjs

我有一个表单,在提交客户端获得结果页面后,其中包含客户选择的内容,并且还显示每个项目的图片。此页面我想导出为PDF。在我的服务器上运行phantomJs,我的想法是修改生成的页面,以便可以在侦听phantomjs的服务器上发送。

我已包含在客户端呈现的页面中的代码:

<input type="submit" id="export-pdf" value="send" name="submit">

<script>
$('input#export-pdf').click(function(){

    var html = $("body").html();
    var data = { html: html };
    $.post("http://server_IP/create-pdf.php", data);
});                             
</script>

create-pdf.php(在服务器上):

<?php
$html = $_POST['html'];
file_put_contents("tmp.html", $html);
exec("phantomjs tmp.html tmp.pdf");
$pdf = file_get_contents("tmp.pdf");
header("content-type: application/pdf");
echo $pdf;
exit;
?>

到目前为止,我没有得到任何pdf ...我做错了什么?.... 谢谢你的帮助

2 个答案:

答案 0 :(得分:1)

我不确定这一点,但你可以尝试使用js api进行通话。 exec(“phantomjs rasterize.js tmp.html tmp.pdf”)

答案 1 :(得分:0)

我停止使用Phantom Js进行渲染,现在我通过mPDF php库

进行渲染