我目前使用wkhtmltopdf
我尝试在用户在我们的网站上提交表单后生成.pdf
文件。表单数据将提交到post.php
,在那里它可以很好地显示为格式化的网页。我想生成这个确切页面的.pdf文件。
但是在尝试执行wkhtmltopdf
时问题就出现了。我得到一个连续的循环,因为我试图从这个post.php
文件内部生成.pdf,这也是目标。
我还尝试include()
一个单独的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()
?
非常感谢任何见解。
答案 0 :(得分:0)
调用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?。