【问题标题】:Header getting printed while printing to printers using javascript使用javascript打印到打印机时打印标题
【发布时间】:2014-07-10 06:19:29
【问题描述】:

以下代码是否有任何好的解决方法可用于打印到不同的打印机,例如收据打印机、身份证打印机和喷墨/激光打印机? 我不想使用 pdf 来保存数据和打印,而是直接从网络表单或数据库打印。

我试过了,但没用。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<script type="text/javascript"> 
function Print(divID) 
{ 
//Get the HTML of div 
var divElements = document.getElementById(divID).innerHTML; 
//Get the HTML of whole page 
var oldPage = document.body.innerHTML; 
//Reset the page's HTML with div's HTML only 
document.body.innerHTML = "<html><head><title></title></head><body>" + divElements + "</body>"; 
//Print Page 
window.print(); 
//Restore orignal 
HTML document.body.innerHTML = oldPage; 
} 
</script> 
<input type="button" value="Print" onClick="javascript:Print('print')" /> 
<div id="print"> Content to be printed </div>
</body>
</html>

【问题讨论】:

  • 这会打印一个标题,但我想打印那些。我知道打印页眉/页脚是浏览器方面的问题,但我仍然想知道他有什么方法可以让代码自动阻止打印。

标签: javascript php html printing printers


【解决方案1】:
<script>
function Print(divID) {
        //Get the HTML of div
        var divElements = document.getElementById(divID).innerHTML;
        //Get the HTML of whole page
        var oldPage = document.body.innerHTML;

        //Reset the page's HTML with div's HTML only
        document.body.innerHTML = 
          "<html><head><title></title></head><body>" + 
          divElements + "</body>";

        //Print Page
        window.print();

        //Restore orignal HTML
        document.body.innerHTML = oldPage;


    }
</script> 

<input type="button" value="Print" onclick="javascript:Print('print')" />

<div id="print">
 Content to be printed
</div>

【讨论】:

  • 我猜这会打印一个文档标题。我说的对吗?
  • 不,它会打印你在
    中写的任何内容。你可以通过创建一个简单的html文件来尝试上面的代码
  • 好的,我一定会试一试的。顺便说一句,如果它打印 div 那么如果我将 div 设置为身份证的大小,它会打印那个大小吗?
  • 打印页眉或页脚是浏览器方面的问题。您可以通过更改浏览器设置中的打印选项来启用或禁用打印标题
  • 是的,它会打印出来。为此,您需要使用适当的 CSS
猜你喜欢
相关资源
最近更新 更多
热门标签