使用javascript打印到打印机时打印标题
Posted
技术标签:
【中文标题】使用javascript打印到打印机时打印标题【英文标题】:Header getting printed while printing to printers using 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>
【问题讨论】:
这会打印一个标题,但我想打印那些。我知道打印页眉/页脚是浏览器方面的问题,但我仍然想知道他有什么方法可以让代码自动阻止打印。 【参考方案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以上是关于使用javascript打印到打印机时打印标题的主要内容,如果未能解决你的问题,请参考以下文章
在 javascript 中使用带有 onclick 函数的 for 循环来打印数字 1 到 10
javascript window.print() 打印问题?预览时图片正好,打印到A4上时变小??据说是print打印的是屏幕大小