PrintSample26.html 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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>&nbsp;&nbsp;&nbsp; 当打印页数超级多(上千页)时,如果用单页循环打印,会因为在操作系统中产生太多的</p>
  11. <p>打印任务而影响性能;如果用NewPage分页方式打印,则会因为一次性占用太多的系统资源而</p>
  12. <p>需要等待很长时间...</p>
  13. <p>&nbsp;&nbsp;&nbsp;
  14. 解决问题的办法是采用折中处理,既分组完成,每组完成一部分,循环执行组打印。</p>
  15. <p>下面演示一组打印预览10页,分50组循环实现500页的学位证书套打:</p>
  16. <p>(在分组打印模板中,需要用ADD_PRINT_TEXTA函数,为每一个对象起个类名)</p>
  17. <p>&nbsp; <font size="2"><input type="button" value="打印维护(模板)" onClick=" MySetup()">
  18. <input type="button" value="打印预览(10页)" onClick="MyPREVIEW()">
  19. <input type="button" value="批量打印500页" onClick="MyPrint()"></font>
  20. </p>
  21. <p><a href="PrintSampIndex.html">&lt;&lt;回样例目录</a></p>
  22. <script language="javascript" type="text/javascript">
  23. var LODOP; //声明为全局变量
  24. function MySetup() {
  25. LODOP=getLodop();
  26. LODOP.PRINT_INIT("中文学位证书打印");
  27. LODOP.SET_PRINT_PAGESIZE(1,2970,2100,"");
  28. LODOP.SET_PRINT_STYLE("FontSize",16);
  29. LODOP.SET_PRINT_STYLE("Bold",1);
  30. CreateOnePage("姓名","男","");
  31. LODOP.PRINT_SETUP();
  32. };
  33. function MyPREVIEW() {
  34. LODOP=getLodop();
  35. LODOP.PRINT_INIT("中文学位证书打印");
  36. LODOP.SET_PRINT_PAGESIZE(1,2970,2100,"");
  37. LODOP.SET_PRINT_STYLE("FontSize",16);
  38. LODOP.SET_PRINT_STYLE("Bold",1);
  39. for (j = 1; j <=10; j++) {
  40. CreateOnePage("姓名"+j,"男",j);
  41. };
  42. LODOP.SET_PREVIEW_WINDOW(0,0,0,0,0,"");
  43. LODOP.PREVIEW();
  44. };
  45. function MyPrint() {
  46. LODOP=getLodop();
  47. if(!confirm("下面的演示会产生大量的实际打印操作,确定继续吗?")) return;
  48. for (i = 1; i <=50; i++) {
  49. LODOP.PRINT_INIT("中文学位证书打印");
  50. LODOP.SET_PRINT_PAGESIZE(1,2970,2100,"");
  51. LODOP.SET_PRINT_STYLE("FontSize",16);
  52. LODOP.SET_PRINT_STYLE("Bold",1);
  53. for (j = 1; j <=10; j++) {
  54. CreateOnePage("姓名"+i+j,"男",""+i+j);
  55. };
  56. LODOP.SET_PRINT_MODE("CUSTOM_TASK_NAME","中文学位证书打印"+i);//为每个打印单独设置任务名
  57. LODOP.PRINT();
  58. };
  59. };
  60. function CreateOnePage(XM,XB,BH){
  61. LODOP.NewPage();
  62. LODOP.ADD_PRINT_TEXTA("text01",67,132,137,35,XM);
  63. LODOP.SET_PRINT_STYLEA(0,"Alignment",3);
  64. LODOP.ADD_PRINT_TEXTA("text02",67,280,40,35,XB);
  65. LODOP.ADD_PRINT_TEXTA("text03",67,329,70,35,"1979");
  66. LODOP.SET_PRINT_STYLEA(0,"Alignment",3);
  67. LODOP.ADD_PRINT_TEXTA("text04",67,421,50,35,"09");
  68. LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
  69. LODOP.ADD_PRINT_TEXTA("text05",67,489,40,35,"09");
  70. LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
  71. LODOP.ADD_PRINT_TEXTA("text06",223,220,76,35,"理学");
  72. LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
  73. LODOP.ADD_PRINT_TEXTA("text07",121,130,332,35,"应用物理与微电子技术");
  74. LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
  75. LODOP.ADD_PRINT_TEXTA("text08",271,482,34,35,"校");
  76. LODOP.ADD_PRINT_TEXTA("text09",271,616,32,35,"长");
  77. LODOP.SET_PRINT_STYLEA(0,"Alignment",3);
  78. LODOP.ADD_PRINT_TEXTA("text10",300,131,289,35,"合肥工业大学");
  79. LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
  80. LODOP.ADD_PRINT_TEXTA("text11",364,210,261,35,"103700002009000"+BH);
  81. LODOP.ADD_PRINT_TEXTA("text12",365,753,66,35,"2009");
  82. LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
  83. LODOP.ADD_PRINT_TEXTA("text13",365,843,37,35,"12");
  84. LODOP.ADD_PRINT_TEXTA("text14",365,911,54,35,"31");
  85. LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
  86. };
  87. </script>
  88. </body>
  89. </html>