PrintSample18.html 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>WEB打印控件LODOP的样例十八:幅面高度不固定的票据打印</title>
  6. <script language="javascript" src="LodopFuncs.js"></script>
  7. </head>
  8. <body>
  9. <h2><font color="#009999">幅面高度不固定的票据打印:</font></h2>
  10. <p>用<a href="PrintSample5.html">样例五</a>介绍过的函数<font color="#0000FF" size="3">SET_PRINT_PAGESIZE</font>可以实现“纸张高度”按“打印内容自适应”</p>
  11. <p>下面演示打印如下商品清单,操作前可以勾选不同的商品,观察打印预览效果:</p>
  12. <div id="splist" style="OVERFLOW-Y: scroll; WIDTH: 100%; POSITION: HEIGHT: 200px">
  13. <table class="tableframe2" style="WORD-BREAK: break-all" width="97%" align="center">
  14. <tbody>
  15. <tr id="id1" style="BACKGROUND-COLOR: #dae2ed">
  16. <td align="middle" width="4%" height="25" bgcolor="#C0C0C0"></td>
  17. <td align="center" width="15%" height="25" bgcolor="#C0C0C0">
  18. <p align="center"><b>商品编号</b></p>
  19. </td>
  20. <td align="center" width="31%" bgcolor="#C0C0C0"><b>商品名称</b></td>
  21. <td align="center" width="14%" bgcolor="#C0C0C0"><b>数量</b></td>
  22. <td align="center" width="15%" bgcolor="#C0C0C0"><b>单价(元)</b></td>
  23. </tr>
  24. <tr style="BACKGROUND-COLOR: #dae2ed">
  25. <td width="4%" height="25"><input type="checkbox" id="CK1" value="ON" checked onClick="ReSumMoney()"></td>
  26. <td width="15%" height="25"><input type="text" id="BH1" value="001" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  27. <td align="center" width="31%"><input type="text" id="MC1" value="商品A" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  28. <td align="center" width="14%"><input type="text" id="SL1" value="1.00" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  29. <td align="center" width="15%"><input type="text" id="DJ1" value="10.00" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  30. </tr>
  31. <tr style="BACKGROUND-COLOR: #dae2ed">
  32. <td width="4%" height="25"><input type="checkbox" id="CK2" value="ON" onClick="ReSumMoney()"></td>
  33. <td width="15%" height="25"><input type="text" id="BH2" value="002" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  34. <td align="center" width="31%"><input type="text" id="MC2" value="商品B" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  35. <td align="center" width="14%"><input type="text" id="SL2" value="1.00" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  36. <td align="center" width="15%"><input type="text" id="DJ2" value="20.00" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  37. </tr>
  38. <tr style="BACKGROUND-COLOR: #dae2ed">
  39. <td width="4%" height="25"><input type="checkbox" id="CK3" value="ON" checked onClick="ReSumMoney()"></td>
  40. <td width="15%" height="25"><input type="text" id="BH3" value="003" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  41. <td align="center" width="31%"><input type="text" id="MC3" value="商品C" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  42. <td align="center" width="14%"><input type="text" id="SL3" value="1.00" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  43. <td align="center" width="15%"><input type="text" id="DJ3" value="70.00" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  44. </tr>
  45. <tr style="BACKGROUND-COLOR: #dae2ed">
  46. <td width="4%" height="25"><input type="checkbox" id="CK4" value="ON" checked onClick="ReSumMoney()"></td>
  47. <td width="15%" height="25"><input type="text" id="BH4" value="004" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  48. <td align="center" width="31%"><input type="text" id="MC4" value="商品D" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  49. <td align="center" width="14%"><input type="text" id="SL4" value="1.00" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  50. <td align="center" width="15%"><input type="text" id="DJ4" value="25.00" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  51. </tr>
  52. <tr style="BACKGROUND-COLOR: #dae2ed">
  53. <td width="4%" height="25"><input type="checkbox" id="CK5" value="ON" onClick="ReSumMoney()"></td>
  54. <td width="15%" height="25"><input type="text" id="BH5" value="005" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  55. <td align="center" width="31%"><input type="text" id="MC5" value="商品E" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  56. <td align="center" width="14%"><input type="text" id="SL5" value="1.00" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  57. <td align="center" width="15%"><input type="text" id="DJ5" value="40.00" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  58. </tr>
  59. <tr style="BACKGROUND-COLOR: #dae2ed">
  60. <td width="4%" height="25"><input type="checkbox" id="CK6" value="ON" onClick="ReSumMoney()"></td>
  61. <td width="15%" height="25"><input type="text" id="BH6" value="006" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  62. <td align="center" width="31%"><input type="text" id="MC6" value="商品F" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  63. <td align="center" width="14%"><input type="text" id="SL6" value="1.00" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  64. <td align="center" width="15%"><input type="text" id="DJ6" value="36.50" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  65. </tr>
  66. <tr style="BACKGROUND-COLOR: #dae2ed">
  67. <td width="4%" height="25"><input type="checkbox" id="CK7" value="ON" onClick="ReSumMoney()"></td>
  68. <td width="15%" height="25"><input type="text" id="BH7" value="007" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  69. <td align="center" width="31%"><input type="text" id="MC7" value="商品G" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  70. <td align="center" width="14%"><input type="text" id="SL7" value="1.00" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  71. <td align="center" width="15%"><input type="text" id="DJ7" value="60.00" style="text-align:center;border:0px;background-color:#dae2ed" ></td>
  72. </tr>
  73. </tbody>
  74. </table>
  75. </div>
  76. <table width="874">
  77. <tr>
  78. <td align="right" width="371" height="26">
  79. <p align="left"></td>
  80. <td align="right" width="78"><b>收银员:</b></td>
  81. <td align="right" width="146">
  82. <p align="left">0018</td>
  83. <td align="right" width="99"><b>合计金额:</b></td>
  84. <td align="right" width="138">
  85. <p align="left"><input type="text" id="HJ" value="105.00" style="border:0px;" size="20" name="T11"></p>
  86. </td>
  87. </tr>
  88. </table>
  89. <p><font color="#009999" size="3">现在开始</font><font size="2"><input type="button" value="打印预览" onClick="MyPreview()"><br><br></font>
  90. </p>
  91. <p><a href="PrintSampIndex.html">&lt;&lt;回样例目录</a>
  92. </p>
  93. <script language="javascript" type="text/javascript">
  94. var LODOP; //声明为全局变量
  95. function ReSumMoney() {
  96. var fSumvalue=0;
  97. for (i = 1; i < 8; i++) {
  98. if (document.getElementById("CK"+i).checked) {
  99. fSumvalue=fSumvalue+parseFloat(document.getElementById("DJ"+i).value);
  100. }
  101. }
  102. document.getElementById("HJ").value=fSumvalue.toFixed(2);
  103. };
  104. function MyPreview() {
  105. AddTitle();
  106. var iCurLine=80;//标题行之后的数据从位置80px开始打印
  107. for (i = 1; i < 8; i++) {
  108. if (document.getElementById("CK"+i).checked) {
  109. LODOP.ADD_PRINT_TEXT(iCurLine,15,100,20,document.getElementById("BH"+i).value);
  110. LODOP.ADD_PRINT_TEXT(iCurLine,149,100,20,document.getElementById("MC"+i).value);
  111. LODOP.ADD_PRINT_TEXT(iCurLine,289,100,20,document.getElementById("SL"+i).value);
  112. LODOP.ADD_PRINT_TEXT(iCurLine,409,100,20,document.getElementById("DJ"+i).value);
  113. iCurLine=iCurLine+25;//每行占25px
  114. }
  115. }
  116. LODOP.ADD_PRINT_LINE(iCurLine,14,iCurLine,510,0,1);
  117. LODOP.ADD_PRINT_TEXT(iCurLine+5,20,300,20,"打印时间:"+(new Date()).toLocaleDateString()+" "+(new Date()).toLocaleTimeString());
  118. LODOP.ADD_PRINT_TEXT(iCurLine+5,346,150,20,"合计金额:"+document.getElementById("HJ").value);
  119. LODOP.SET_PRINT_PAGESIZE(3,1385,45,"");//这里3表示纵向打印且纸高“按内容的高度”;1385表示纸宽138.5mm;45表示页底空白4.5mm
  120. LODOP.PREVIEW();
  121. };
  122. function AddTitle(){
  123. LODOP=getLodop();
  124. LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_不同高度幅面");
  125. LODOP.ADD_PRINT_TEXT(15,102,355,30,"北京市东城区沃乐福商城收款票据");
  126. LODOP.SET_PRINT_STYLEA(1,"FontSize",13);
  127. LODOP.SET_PRINT_STYLEA(1,"Bold",1);
  128. LODOP.ADD_PRINT_TEXT(50,15,100,20,"商品编号");
  129. LODOP.SET_PRINT_STYLEA(2,"FontSize",10);
  130. LODOP.SET_PRINT_STYLEA(2,"Bold",1);
  131. LODOP.ADD_PRINT_TEXT(50,149,100,20,"商品名称");
  132. LODOP.SET_PRINT_STYLEA(3,"FontSize",10);
  133. LODOP.SET_PRINT_STYLEA(3,"Bold",1);
  134. LODOP.ADD_PRINT_TEXT(50,289,100,20,"商品数量");
  135. LODOP.SET_PRINT_STYLEA(4,"FontSize",10);
  136. LODOP.SET_PRINT_STYLEA(4,"Bold",1);
  137. LODOP.ADD_PRINT_TEXT(50,409,100,20,"单价(元)");
  138. LODOP.SET_PRINT_STYLEA(5,"FontSize",10);
  139. LODOP.SET_PRINT_STYLEA(5,"Bold",1);
  140. LODOP.ADD_PRINT_LINE(72,14,73,510,0,1);
  141. };
  142. </script>
  143. </body>
  144. </html>