PrintSample30.html 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  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>
  10. </h2>
  11. <div id="div1_2_3">
  12. <div id="div1">
  13. <table border="1" width="300" id="tb01" bgcolor="#CCFFCC" style="border:solid 1px black"><tr><td width="133" id="mtb001" style="border:solid 1px">
  14. <font face="黑体" color="#FF0000" size="3">《带底色表单》</font></td></tr></table>
  15. <table border="1" width="300" height="106" cellspacing="0" bgcolor="#CCFFFF" style="border-collapse:collapse;border:1px solid black"><tr>
  16. <td width="66" height="16" style="border:1px solid black"><font color="#0000FF">A</font><font color="#0000FF">等</font></td>
  17. <td width="51" height="16" style="border:1px solid black"><font color="#0000FF">B</font><font color="#0000FF">等</font></td>
  18. <td width="51" height="16" style="border:1px solid black"><font color="#0000FF">C</font><font color="#0000FF">等</font></td></tr>
  19. <tr><td width="66" height="12" style="border:1px solid black">A001</td><td width="51" height="12" style="border:1px solid black">B001</td><td width="51" height="12" style="border:1px solid black">C001</td></tr>
  20. <tr><td width="66" height="16" style="border:1px solid black">A002</td><td width="51" height="16" style="border:1px solid black">B002</td><td width="51" height="16" style="border:1px solid black">C002</td></tr>
  21. <tr><td width="66" height="16" style="border:1px solid black">A003</td><td width="51" height="16" style="border:1px solid black">B003</td><td width="51" height="16" style="border:1px solid black">C003</td></tr> </table>
  22. </div>
  23. <p style="page-break-after:always">&nbsp;分页元素不能空,可以是空格或普通内容</p>
  24. <div id="div2">
  25. <table border="1" width="300" height="106" cellspacing="0" style="border-collapse: collapse; border:double 3px black;" borderthin="true">
  26. <tr><td width="168" height="12" colspan="3" style="border:1px solid black;"><font face="黑体" color="#FF0000" size="3">双细线表格</font></td></tr>
  27. <tr>
  28. <td width="66" height="16" style="border:1px solid black"><font color="#0000FF">X等</font></td>
  29. <td width="51" height="16" style="border:1px solid black"><font color="#0000FF">Y等</font></td>
  30. <td width="51" height="16" style="border:1px solid black"><font color="#0000FF">Z等</font></td>
  31. </tr>
  32. <tr><td width="66" height="12" style="border:1px solid black">X001</td><td width="51" height="12" style="border:1px solid black">Y001</td><td width="51" height="12" style="border:1px solid black">Z001</td></tr>
  33. <tr><td width="66" height="16" style="border:1px solid black">X002</td><td width="51" height="16" style="border:1px solid black">Y002</td><td width="51" height="16" style="border:1px solid black">Z002</td></tr>
  34. <tr><td width="66" height="16" style="border:1px solid black">X003</td><td width="51" height="16" style="border:1px solid black">Y003</td><td width="51" height="16" style="border:1px solid black">Z003</td></tr> </table>
  35. </div>
  36. <div id="div3" style="page-break-before:always">
  37. <table border="1" width="100%" id="tb01" style="border-collapse:collapse" bordercolor="#000000">
  38. <tr><td colspan="3" style="border:1px solid black"><font face="黑体" color="#FF0000" size="3">《单线表单》</font></td></tr>
  39. <tr>
  40. <td width="66" height="4" style="border:1px solid black"><font color="#0000FF">R等</font></td>
  41. <td width="51" height="4" style="border:1px solid black"><font color="#0000FF">S等</font></td>
  42. <td width="51" height="4" style="border:1px solid black"><font color="#0000FF">T等</font></td>
  43. </tr>
  44. <tr><td width="66" height="12" style="border:1px solid black">R001</td><td width="51" height="12" style="border:1px solid black">S001</td><td width="51" height="12" style="border:1px solid black">T001</td></tr>
  45. <tr><td width="66" height="16" style="border:1px solid black">R002</td><td width="51" height="16" style="border:1px solid black">S002</td><td width="51" height="16" style="border:1px solid black">T002</td></tr>
  46. <tr><td width="66" height="16" style="border:1px solid black">R003</td><td width="51" height="16" style="border:1px solid black">S003</td><td width="51" height="16" style="border:1px solid black">T003</td></tr>
  47. </table>
  48. </div>
  49. </div>
  50. <p>下面演示把以上三段内容分页输出:<p><b>方式一</b>:把三段超文本分别送给控件,用<font color="#0000FF">NewPage</font>实现分页,
  51. 看一下<a href="javascript:prn1_preview()">打印预览1</a>。<p><font size="2">该方式分页准确、容易理解、可多页预览,
  52. 但需要分页内容被div提前区分开。</font><p><b>方式二</b>:三段内容分别放到一个table的不同tr中,
  53. 用<font color="#0000FF">ADD_PRINT_TABLE</font>自动分页,看一下<a href="javascript:prn2_preview()">打印预览2</a>
  54. <p><font size="2">该方式不需要专门函数或分页符,但需要用table结构重组文本或提前预置,注意第4个参数要小于最小页内容(这里用1)。</font>
  55. <p><b>方式三</b>:把一个超文本大段落送给控件,其中用<font color="#0000FF">page-break-after(before)</font>强制分页,
  56. 看一下<a href="javascript:prn3_preview()">打印预览3</a>&nbsp;<p><font size="2">该方式语法简单,但需要超文本中提前预置强制分页符,
  57. 并注意只有前后都有换行符的block元素才能用来分页,<br>可以专门插入一个分页元素,也可以把一个正常元素的style设为强制分页,且必须在block元素之间进行分页。</font><p>
  58. <b>方式四</b>:每次打印一个表,循环3次实现分页输出,看一下<a href="javascript:prn4_preview()">直接打印4</a>
  59. <p>
  60. <font size="2">该方式性能高、适合连续快速打印,但不能多页预览</font>。<p>
  61. <b>方式五</b>:还有一个多页对象分隔指令<font color="#0000FF">NewPage</font><font color="#0000FF">A</font>,参考<a href="PrintSample43.html">样例43</a>。<p>
  62. <b>方式六</b>:强制分页和自动分页相结合,例如按<font color="#0000FF">每页高度160+强制分页符</font>输出本文档见<a href="javascript:prn6_design()">打印设计6</a>
  63. <p>
  64. <font size="2">为了避免自动分页切割表格的单元格,可适当提高表格行的粒度TableRowThickNess为25(默认值是20)。</font><p>
  65. <a href="PrintSampIndex.html">&lt;&lt;回样例目录</a><script language="javascript" type="text/javascript">
  66. var LODOP; //声明为全局变量
  67. function prn1_preview() {
  68. LODOP=getLodop();
  69. LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_分页输出一");
  70. LODOP.ADD_PRINT_HTM(88,200,350,600,document.getElementById("div1").innerHTML);
  71. LODOP.NewPage();
  72. LODOP.ADD_PRINT_HTM(88,200,350,600,document.getElementById("div2").innerHTML);
  73. LODOP.NewPage();
  74. LODOP.ADD_PRINT_HTM(88,200,350,600,document.getElementById("div3").innerHTML);
  75. LODOP.PREVIEW();
  76. };
  77. function prn2_preview() {
  78. LODOP=getLodop();
  79. LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_分页输出二");
  80. strHTML="<table border='0' width='100%' >";
  81. strHTML=strHTML+"<tr><td>";
  82. strHTML=strHTML+document.getElementById("div1").innerHTML;
  83. strHTML=strHTML+"</td></tr>";
  84. strHTML=strHTML+"<tr><td>";
  85. strHTML=strHTML+document.getElementById("div2").innerHTML;
  86. strHTML=strHTML+"</td></tr>";
  87. strHTML=strHTML+"<tr><td>";
  88. strHTML=strHTML+document.getElementById("div3").innerHTML;
  89. strHTML=strHTML+"</td></tr>";
  90. LODOP.ADD_PRINT_TABLE(88,200,350,1,strHTML);
  91. LODOP.PREVIEW();
  92. };
  93. function prn3_preview() {
  94. LODOP=getLodop();
  95. LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_分页输出三");
  96. LODOP.ADD_PRINT_HTM(88,150,450,"100%",document.getElementById("div1_2_3").innerHTML);
  97. LODOP.PREVIEW();
  98. };
  99. </script><script language="javascript" type="text/javascript">
  100. function prn4_preview() {
  101. LODOP=getLodop();
  102. Prnt_Oneform("div1");
  103. Prnt_Oneform("div2");
  104. Prnt_Oneform("div3");
  105. };
  106. function Prnt_Oneform(strID) {
  107. LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_分页输出四");
  108. LODOP.ADD_PRINT_HTM(88,200,350,600,document.getElementById(strID).innerHTML);
  109. LODOP.PRINT();
  110. };
  111. function prn6_design() {
  112. LODOP=getLodop();
  113. LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_分页输出六");
  114. LODOP.ADD_PRINT_HTM(88,150,450,150,"<!DOCTYPE html>"+document.getElementsByTagName("html")[0].innerHTML);
  115. LODOP.SET_PRINT_STYLEA(0,"TableRowThickNess",25);
  116. LODOP.PRINT_DESIGN();
  117. };
  118. </script>
  119. </body>
  120. </html>