微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 如何将wkhtmltopdf与POST数据一起使用

我目前使用wkhtmltopdf,我试图在用户在我们的网站上提交表单后生成.pdf文件.表单数据被提交到post.PHP,它可以很好地显示为格式化的网页.我想生成这个确切页面的.pdf文件.

但是在尝试执行wkhtmltopdf时问题就开始了.我得到一个连续循环,因为我试图从这个post.PHP文件生成.pdf,这也是目标.

我还试图包含()一个单独的PHP文件来处理exec()函数,但我仍然得到一个连续的循环.

也许下面的视觉有助于:

form.PHP,其中包含以下内容……

<form id="ecard" action="post.PHP" method="post">
    <input type="text" name="ecard_message" />
    <input type="submit" />
</form>

post.PHP,它包含发布的数据并包含HTML,如此…

<div class="content">
        <?PHP echo $_POST['ecard_message']; ?>
    </div>

    <?PHP exec("wkhtmltopdf http://example.com/post.PHP ecard.pdf"); ?>

当exec()函数与这些文件分开运行时,我的代码可以工作,但是如何在同一个进程中自动完成exec()?

任何见解都非常感谢.

解决方法

调用wkhtmltopdf http://example.com/post.PHP ecard.pdf将丢失帖子数据,因此即使它有效,pdf也将为空.

而是将pdf生成为html,然后将其传递给wkhtmltopdf.例如:(未经测试)

<?PHP
  $html = '<div class="content">' . $_POST['ecard_message'] . '</div>';
  exec("echo $html | wkhtmltopdf - ecard.pdf");
?>

有关使用文本而不是文件的说明,请参阅Is there any wkhtmltopdf option to convert html text rather than file?.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐