不用彈出列印資料窗口的列印方法
列印可能大家都非常熟悉了,這個方法很簡單,高手不要笑話我:
列印這個功能,我的第一印象做法就是如下
1.把符合列印資料的所有資料都放在另外一個頁面,姑且我們把這個頁面叫列印頁面吧
2.我們在本頁面利用javascript的方法傳參數到列印頁面,如下:
// 友好的列印
<script language="javascript" type="text/javascript">
function Print_onclick()
{
var win = window.open("about:blank");
win.location = "RegiPerson_Print.aspx?type=1"
}
function Print_onclick()
{
var win = window.open("about:blank");
win.location = "RegiPerson_Print.aspx?type=1"
}
</script>
3.在列印頁面里面我們調用打印的javascript的函數,如下:
<script language="javascript" type="text/javascript">
var aaa= "<%=Request.QueryString("type") %>";
if(aaa=="1")
{
window.print();
}
</script>
var aaa= "<%=Request.QueryString("type") %>";
if(aaa=="1")
{
window.print();
}
</script>
這樣就能實現簡單的列印了。
但是上面的做法我個人認為有個不好的地方,那就是列印頁面必須彈出來。(如果客戶有要求,那就更好,沒有要求那樣也是不好的)
所以,我想不要列印頁面彈出來,下面就是我的做法(我們利用iframe)
1.首先我們用iframe把要顯示的頁面src進去, 列印頁面為RegiPerson_Print.aspx?type=1 如下:
<iframe width='0' height='0' name="printframe" src='RegiPerson_Print.aspx?type=1'></iframe>
2.利用javascript來調用彈出頁面的打印函數,如下:
<script language=javascript >
function print()
{
try
{
window.frames("printframe").DP();
}
catch(e)
{
alert("no object to print!");
}
}
</script>
備注:printframe 為本頁面iframe的name
DP() 為列印頁面為RegiPerson_Print.aspx?type=1里面的實現打印的javascript函數
function print()
{
try
{
window.frames("printframe").DP();
}
catch(e)
{
alert("no object to print!");
}
}
</script>
備注:printframe 為本頁面iframe的name
DP() 為列印頁面為RegiPerson_Print.aspx?type=1里面的實現打印的javascript函數
3.在RegiPerson_Print.aspx?type=1畫面里面加上實現打印的javascript函數 如下:
<script language="javascript" type="text/javascript">
function DP() // mainFrame網頁中函數
{
window.focus();
if (window.print)
{
window.print();
}
}
</script>
<script language="javascript" type="text/javascript">
function DP() // mainFrame網頁中函數
{
window.focus();
if (window.print)
{
window.print();
}
}
</script>
這樣就實現了不用彈出列印頁面就可以列印的方法了。

浙公网安备 33010602011771号