PrintSample23.html 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  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. <p>超文本居中打印方式有多种,下面演示以下表格的打印:
  12. </p>
  13. <div id="dv1">
  14. <form valign="center">
  15. <table border="2" width="400" height="106" cellspacing="1" bgcolor="#CCFFFF" style="border:solid 2px black">
  16. <tr>
  17. <td width="60" height="16" align="center" style="border:solid 1px black"><font color="#0000FF">A</font><font color="#0000FF">等</font></td>
  18. <td width="60" height="16" align="center" style="border:solid 1px black"><font color="#0000FF">B</font><font color="#0000FF">等</font></td>
  19. <td width="60" height="16" align="center" style="border:solid 1px black"><font color="#0000FF">C</font><font color="#0000FF">等</font></td>
  20. <td width="100" height="16" align="center" style="border:solid 1px black"><font color="#0000FF">D</font><font color="#0000FF">等</font></td>
  21. </tr>
  22. <tr>
  23. <td height="50" style="border:solid 1px black" ><input id="inpt1" type="text" value="A001"></td>
  24. <td height="12" style="border:solid 1px black" valign="middle" align="middle">B001</td>
  25. <td height="12" style="border:solid 1px black"><INPUT name=powerlist value=1 type=checkbox>C001</td>
  26. <td height="16" align="center" style="border:solid 1px black">
  27. <input type="radio" id="R1" name="RX" checked>D1号<br>
  28. <input type="radio" id="R2" name="RX">D2号<br>
  29. <input type="radio" id="R3" name="RX">D3号<br>
  30. </td>
  31. </tr>
  32. <tr>
  33. <td height="16" style="border:solid 1px black"><input id="inpt2" type="text" style="background-color:Transparent" value="A002"></td>
  34. <td height="16" style="border:solid 1px black">B002</td>
  35. <td height="16" style="border:solid 1px black"><INPUT name=powerlist value=1 type=checkbox checked>C002</td>
  36. <td height="16" align="center" style="border:solid 1px black">
  37. <input type="radio" id="R1" name="RX1" checked>D1号<br>
  38. <input type="radio" id="R2" name="RX1">D2号<br>
  39. <input type="radio" id="R3" name="RX1">D3号<br>
  40. </td>
  41. </tr>
  42. <tr>
  43. <td height="16" style="border:solid 1px black"><input id="inpt3" type="text" style="border:none;background-color:Transparent;" value="A003"></td>
  44. <td height="16" style="border:solid 1px black">
  45. <select size="1" name="D1">
  46. <option value="a">B003-A</option>
  47. <option value="b" selected>B003-B</option>
  48. <option value="c">B003-C</option>
  49. </select></td>
  50. <td height="16" style="border:solid 1px black"><INPUT name=powerlist value=1 type=checkbox>C003</td>
  51. <td height="16" align="center" style="border:solid 1px black">
  52. <input type="radio" id="R1" name="RX2" checked>D1号<br>
  53. <input type="radio" id="R2" name="RX2">D2号<br>
  54. <input type="radio" id="R3" name="RX2">D3号<br>
  55. </td>
  56. </tr>
  57. </table>
  58. </form>
  59. </div>
  60. <h4>
  61. <br>
  62. 第一种:如果知道内容的宽度(假如是122mm)则可以用如下语句来控制“水平居中”:</h4>
  63. <p><font color="#0000FF">LODOP.SET_PRINT_STYLEA(0,&quot;Horient&quot;,2);</font>//设置对象在纸张范围内水平居中,</p>
  64. <p>进入<a href="javascript:myDesign1()">打印设计1</a>然后再预览看一下。</p>
  65. <h4>第二种:如果内容宽度不定,则可以把对象宽度设置为纸张宽度(对象左右边距设为0)来控制“水平居中”:
  66. </h4>
  67. <p>用style(text-align:
  68. center 或 margin: 0 auto)来控制“内容在对象内居中”,从而实现在纸张内居中,
  69. </p>
  70. <p>进入<a href="javascript:myDesign2()">打印设计2</a>然后再预览看一下。</p>
  71. <h4>第三种:如果边距精度要求不高,可以用百分比方式来控制“水平居中”:
  72. </h4>
  73. <p>如下把“左边距”和“宽度”分别设为10%和80%(这样左右边距都是10%),再配合超文本Width100%可以实现随纸张变化的满边居中,
  74. </p>
  75. <p>进入<a href="javascript:myDesign3()">打印设计3</a>然后再预览看一下。</p>
  76. <h4>第四种:如果知道内容高度和宽度,可以用Horient和Vorient同时设置,实现水平和垂直都居中:
  77. </h4>
  78. <p><font color="#0000FF">LODOP.SET_PRINT_STYLEA(0,&quot;Vorient&quot;,2);</font>//设置对象在纸张范围内垂直居中,</p>
  79. <p>进入<a href="javascript:myDesign4()">打印设计4</a>然后再预览看一下。</p>
  80. 以上预览时可以选择不同的纸张或打印方向感受一下。
  81. <p><a href="PrintSampIndex.html">&lt;&lt;回样例目录</a>
  82. </p>
  83. <script>
  84. function refreshData(){ //让innerHTML获取的内容包含input和select(option)的最新值
  85. var allInputObject=document.body.getElementsByTagName("input");
  86. for (i = 0; i < allInputObject.length; i++) {
  87. if(allInputObject[i].type=="checkbox") {
  88. if (allInputObject[i].checked )
  89. allInputObject[i].setAttribute("checked","checked");
  90. else
  91. allInputObject[i].removeAttribute("checked");
  92. } else if(allInputObject[i].type=="radio") {
  93. if (allInputObject[i].checked )
  94. allInputObject[i].setAttribute("checked","checked");
  95. else
  96. allInputObject[i].removeAttribute("checked");
  97. }else allInputObject[i].setAttribute("value",allInputObject[i].value);
  98. };
  99. for (i = 0; i < document.getElementsByTagName("select").length; i++) {
  100. var sl=document.getElementsByTagName("select")[i];
  101. for (j = 0; j < sl.options.length; j++) {
  102. if (sl.options[j].selected)
  103. sl.options[j].setAttribute("selected","selected");
  104. else sl.options[j]=new Option(sl.options[j].text,sl.options[j].value);
  105. };
  106. };
  107. };
  108. var LODOP; //声明为全局变量
  109. function myDesign1(){
  110. refreshData();
  111. LODOP=getLodop();
  112. LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_文本居中一");
  113. LODOP.ADD_PRINT_HTM(90,221,"120mm",245,"<!doctype html>"+document.getElementById("dv1").innerHTML); //宽120mm
  114. LODOP.SET_PRINT_STYLEA(0,"Horient",2);
  115. LODOP.PRINT_DESIGN();
  116. };
  117. function myDesign2(){
  118. refreshData();
  119. LODOP=getLodop();
  120. strCenterStyle="<!DOCTYPE html><body><style/>table {margin: 0 auto}</style>";
  121. LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_文本居中二");
  122. LODOP.ADD_PRINT_HTM("9mm","0mm","RightMargin:0mm","BottomMargin:9mm",strCenterStyle+document.getElementById("dv1").innerHTML); //上下边距9mm,左右边距0mm
  123. LODOP.PRINT_DESIGN();
  124. };
  125. function myDesign3(){
  126. refreshData();
  127. LODOP=getLodop();
  128. strCenterStyle="<style/>table {width:100%}</style>";
  129. LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_文本居中三");
  130. LODOP.ADD_PRINT_HTM(5,"10%","80%",140,strCenterStyle+document.getElementById("dv1").innerHTML); //左右边距都是10%
  131. LODOP.PRINT_DESIGN();
  132. };
  133. function myDesign4(){
  134. refreshData();
  135. LODOP=getLodop();
  136. LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_文本居中四");
  137. LODOP.ADD_PRINT_HTM(151,276,"122mm","62mm",document.getElementById("dv1").innerHTML);//宽122mm 高62mm
  138. LODOP.SET_PRINT_STYLEA(0,"Horient",2);
  139. LODOP.SET_PRINT_STYLEA(0,"Vorient",2);
  140. LODOP.PRINT_DESIGN();
  141. };
  142. </script>
  143. </body>
  144. </html>