相比RDLC很靈活的一種WEB列印方式,目前因使用者都使用CHROME,
故搭配LegacyBrowserSupport來自動切換到IE
Activex Only IE 6+
Domain:eip
document.body.innerHTML += '<iframe style="display: none;" src="http://eip/print/doPreview.html"></iframe>';
<html>
<head>
<script>
function startPreview(){
pazu.TPrinter.marginTop = parseInt(8);
pazu.TPrinter.marginBottom = parseInt(8);
pazu.TPrinter.marginLeft = parseInt(8);
pazu.TPrinter.marginRight = parseInt(8);
pazu.TPrinter.isPrintBackground = true;
pazu.TPrinter.isZoomOutToFit = true;
pazu.TPrinter.footer = "";
pazu.TPrinter.header = "";
pazu.TWin.MaxWin();
pazu.TPrinter.Dopreview();
pazu.TWin.CloseWin();
}
//document.body.innerHTML += '<iframe style="display: none;" src="http://eip/print/doPreview.html"></iframe>';
</script>
</head>
<body style="display: none;" onload="startPreview()">
<object classid="clsid:AF33188F-6656-4549-99A6-E394F0CE4EA4" id="pazu" name="pazu">
<param name="License" value="825E9F95B4DC9B648ED836F735E800DB|wai52168@gmail.com"/>
</object>
</body>
</html>
<DIV class=p__ id=F4__ style="FONT-SIZE: 12px; BACKGROUND: #ffffcc; POSITION: absolute; COLOR: red; PADDING-BOTTOM: 3px; PADDING-TOP: 3px; PADDING-LEFT: 3px; LEFT: 0px; Z-INDEX: 999999999; TOP: 0px; PADDING-RIGHT: 3px">wai52168@gmail.com </DIV>
onlyPrintElementID功能僅支持ie9以上,通用一點請用IFrame,但IFrame不支援預覽功能。
使用預覽功能,印表機第一次會連動,後續會被keep.
<html>
<head>
<META content="IE=11.0000" http-equiv="X-UA-Compatible">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>pazu title</title>
<object style="display:none;" classid="clsid:AF33188F-6656-4549-99A6-E394F0CE4EA4" codebase="http://www.4Fang.net/4ff/sc_setup.exe" id="pazu" name="pazu">
<param name="License" value="825E9F95B4DC9B648ED836F735E800DB|wai52168@gmail.com"/>
</object>
<style type="text/css">
.p__ {display: none;}
@media print {
.noprint {
display:none;
}
.print {
display:block !important;
}
}
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.12.4.min.js"></script>
<script>
$(function(){
//列出所有印表機
var printers_arr=pazu.TPrinter.getPrinters().split("\r\n");
for(var i=0;i<printers_arr.length;i++) $("#printers").append("<option value='"+printers_arr[i]+"'>"+printers_arr[i]+"</option>");
//列出所有紙張
var paper_arr=pazu.TPrinter.getPaperForms().split("\r\n");
for(var i=0;i<paper_arr.length;i++) $("#papers").append("<option value='"+paper_arr[i]+"'>"+paper_arr[i]+"</option>");
});
window.onafterpazuprint=function(){
//alert("打印完成!");
}
function print()
{
pazu.TPrinter.header="";
pazu.TPrinter.footer="";
pazu.TPrinter.marginTop=parseInt(mtop.value);
pazu.TPrinter.marginBottom=parseInt(mbottom.value);
pazu.TPrinter.marginLeft=parseInt(mleft.value);
pazu.TPrinter.marginRight=parseInt(mright.value);
pazu.TPrinter.orientation=$('input[name=ori]:checked').val();
pazu.TPrinter.paperName=$("#papers").val();
pazu.TPrinter.printerName=$("#printers").val();
if($("#pDiv").is(':checked'))
{
alert(1);
pazu.TPrinter.onlyPrintElementID='onlyPrintDiv';
}
else if($("#pIfrm").is(':checked'))
{
alert(2);
//window.frames['myIfrm'].focus();
//pazu.TPrinter.doPrint(false);
return;
}
else
{
alert(3);
pazu.TPrinter.onlyPrintElementID="";
}
if($("#nopreview").is(':checked'))
{
pazu.TPrinter.doPrint();
}
else
{
pazu.TPrinter.doPreview();
}
}
</script>
</head>
<body style="margin:0; padding:0">
<div class="noprint">
印表機:<select id="printers"></select>
<br />
紙張:<select id="papers"></select>
<br />
方向:
<input name="ori" type="radio" value="1" checked="checked" id="abc" /><label for="abc">縱向</label>
<input name="ori" type="radio" value="2" id="cde" /><label for="cde">橫向</label>
<br />
邊距:上<input id="mtop" name="mtop" style="width: 46px;" type="text" value="3"> 下<input id="mbottom" name="mbottom" style="width: 46px;" type="text" value="3"> 左<input id="mleft" name="mleft" style="width: 46px;" type="text" value="3"> 右<input id="mright" name="mright" style="width: 46px;" type="text" value="3">
<br />
僅打印Div:<input id="pDiv" name="pDiv" type="checkbox" />
<br />
僅打印Ifrm:<input id="pIfrm" name="pIfrm" type="checkbox" />
<br />
直接打印:<input id="nopreview" name="nopreview" type="checkbox" />
<button type="button" onclick="print()">print</button>
<button type="button" onclick="test01()">test01</button>
</div>
<div id="onlyPrintDiv" style="width:9.8cm;height:11.7cm;border: 1px solid black;page-break-after: always;">
只印這個div-01<br>
只印這個div-02<br>
只印這個div-03<br>
<img src="http://10.3.1.18/barcode/qrcode.ashx?text=4L004532C%20%20%20%2020201021TS" />
<br />
<br />
<img src="http://10.3.1.18/barcode/qrcode.ashx?text=517W274159" />
<br />
<br />
<img src="http://10.3.1.18/barcode/qrcode.ashx?text=6191017M3A-01" />
<br />
<br />
<img src="http://10.3.1.18/barcode/qrcode.ashx?text=354224077" />
<br />
<br />
<img src="http://10.3.1.18/barcode/qrcode.ashx?text=PAGE01" />
</div>
<div id="onlyPrintDiv" style="width:9.8cm;height:11.7cm;border: 1px solid black;page-break-after: always;">
只印這個div-21<br>
只印這個div-22<br>
只印這個div-23<br>
<img src="http://10.3.1.18/barcode/qrcode.ashx?text=4L004532C%20%20%20%2020201021TS" />
<br />
<br />
<img src="http://10.3.1.18/barcode/qrcode.ashx?text=517W274159" />
<br />
<br />
<img src="http://10.3.1.18/barcode/qrcode.ashx?text=6191017M3A-01" />
<br />
<br />
<img src="http://10.3.1.18/barcode/qrcode.ashx?text=354224077" />
<br />
<br />
<img src="http://10.3.1.18/barcode/qrcode.ashx?text=PAGE01" />
</div>
<div id="onlyPrintDiv" style="width:9.8cm;height:11.7cm;border: 1px solid black;page-break-after: always;">
只印這個div-31<br>
只印這個div-32<br>
只印這個div-43<br>
<img src="http://10.3.1.18/barcode/qrcode.ashx?text=4L004532C%20%20%20%2020201021TS" />
<br />
<br />
<img src="http://10.3.1.18/barcode/qrcode.ashx?text=517W274159" />
<br />
<br />
<img src="http://10.3.1.18/barcode/qrcode.ashx?text=6191017M3A-01" />
<br />
<br />
<img src="http://10.3.1.18/barcode/qrcode.ashx?text=354224077" />
<br />
<br />
<img src="http://10.3.1.18/barcode/qrcode.ashx?text=PAGE01" />
</div>
</body>
</html>
page-break-before: always /*在標籤前換頁*/
page-break-after: always /*在標籤後換頁*/