加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 22:27:09 所属栏目:PHP教程 来源:网络整理
导读:我目前使用wkhtmltopdf,我试图在用户在我们的网站上提交表单后生成.pdf文件.表单数据被提交到post.php,它可以很好地显示为格式化的网页.我想生成这个确切页面的.pdf文件. 但是在尝试执行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?.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读