php-使用wkhtmltopdf将当前页面打印为pdf

最近安装的wkhtmltopdf.试图捕获当前状态下的整个页面,但是,以下方法似乎导航到该页面的初始状态,而无需用户输入所有输入字段.

PHP

shell_exec('wkhtmltopdf http://localhost/www/bolt/invoice.php invoice.pdf');

我想知道是否有人知道wkhtmltopdf的实现,该实现捕获页面的当前状态,包括在文本字段中输入的任何文本?

我感谢任何建议.

提前谢谢了!

解决方法:

wkhtmltopdf与您当前的浏览会话无关地点击页面.如果您这样点击,您将获得任何人在首次访问您的页面时所看到的内容.可能要执行的操作是使用输出缓冲区保存当前页面,然后在保存的页面上运行wkhtmltopdf.这是一些示例代码:

sub.php

<?php
$documentTemplate = file_get_contents ("template.html");
foreach ($_POST as $key => $postVar)
{
    $documentTemplate = 
    preg_replace ("/name=\"$key\"/", "value=\"$postVar\"", $documentTemplate);
}
file_put_contents ("out.html", $documentTemplate);
shell_exec ("wkhtmltopdf out.html test.pdf");
?>

的template.php

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta charset="utf-8" />
</head>
<body>
    <h1>This is a page</h1>
    <form action="sub.php" method="post" accept-charset="utf-8">
        My Test Field:
        <input type="text" name="test_field" value="">
        <input type="submit" value = "submit">
    </form>
</body>
</html>

从长远来看,也许您应该拥有两种页面都可以使用的基本模板,并且在输入字段中有一些诸如value =’%valueOfThisVariable%’之类的标记,当您向用户展示字段时可以将其替换为空白,并在创建要写入pdf的页面时填充用户数据.现在,它只是通过将所有name =’this_name’替换为value =’this_name-> value’来完成.

上一篇:plotly js:加载绘图图像后如何仅运行我的javascript


下一篇:如何添加使用echats地图悬浮显示内容