我发现这段代码会自动下载在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(); }
听起来你正在寻找window.print()
与其将文档作为具有attachment
配置的octet-stream
发送(这将强制用户下载它),不如简单地将 PDF(使用正确的header('Content-type: application/pdf');
)加载到页面上的隐藏 iframe 中,然后使用 javascript print()
函数(针对该框架)。