我创建了一个简单的 ASP.Net 页面来创建可自行打印的票证,因此非技术人员可以更改票证的文本和布局。显然,用户必须登录才能打印他们的票。
提供 wkhtmltopdf 转换的 URL 时,不会创建票证,因为 wkhtmltopdf 没有会话来证明用户已登录。
是否可以在 URL 中将会话传递给 wkhtmltopdf,或者他们是更好的解决方案?
我创建了一个简单的 ASP.Net 页面来创建可自行打印的票证,因此非技术人员可以更改票证的文本和布局。显然,用户必须登录才能打印他们的票。
提供 wkhtmltopdf 转换的 URL 时,不会创建票证,因为 wkhtmltopdf 没有会话来证明用户已登录。
是否可以在 URL 中将会话传递给 wkhtmltopdf,或者他们是更好的解决方案?
是的,您可以通过 URL 传递会话,但是,这是不必要的。
通常,您会执行以下操作:
将包含:
<ul>
<li>
<a href="ticket.php?ticket=1">Ticket 1</a>
</li><li>
<a href="ticket.php?ticket=2">Ticket 2</a>
</li><li>
<a href="ticket.php?ticket=N">Ticket N</a>
</li>
</ul>
并且ticket.php:
<?php
if( User->logged_in() ){
$temp='C:\\windows\\temp\\tmp123546.html';
file_put_contents($temp,'ticket html stuff');
shell_exec('wkhtmltopdf.exe file:///'.str_replace('\\','/',$temp));
}
?>
注意:我知道你在 ASP 中问过这个问题,但我对此知之甚少。但是,上述信息应该适用于任何基于 Web 的软件,无论是 ASP、PHP、Ruby 还是 Python。