0

我发现这段代码会自动下载在 GET 方法中声明的 pdf 文件。是否有另一个 php 代码可以打开浏览器打印窗口并允许用户单击打印?我可以使用相同的 GET 方法吗?谢谢

 <?php
$name = isset($_GET["name"])? trim($_GET["name"]): "";
if ($name && preg_match("/\.pdf$/i",$name) && file_exists($name)) {
    header ("Content-Type: application/octet-stream");
    header ("Content-Transfer-Encoding: binary");
    header ("Content-Length: " . filesize($name));
    header ("Content-Disposition: attachment; filename=$name");
    readfile($name);
    exit;
}
?>

我还找到了这个 Javascript 代码,但它只适用于 Chrome function printTrigger(elementId) { var getMyFrame = document.getElementById(elementId); getMyFrame.focus(); getMyFrame.contentWindow.print(); }

4

2 回答 2

0

听起来你在寻找window.print()

于 2012-08-08T03:47:43.717 回答
0

无需将文档作为octet-stream带有attachment处置的文件发送(这将迫使用户下载它),只需将 PDF(使用正确的header('Content-type: application/pdf');)加载到页面上的隐藏 iframe 中,然后使用 javascriptprint()函数(以该框架为目标)。

于 2012-08-08T03:48:17.833 回答