C# / 未分類

ActiveX Printer Control

相比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 /*在標籤後換頁*/

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。