PrintSample50.html 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  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><h2><b><font color="#009999">演示文档式模板生成和使用:</font></b></h2>
  9. &nbsp;&nbsp;&nbsp;&nbsp;Lodop传统模板可以称为“JS语句组式模板”,在<a href="PrintSample35.html" target="_blank">样例35</a>
  10. 和<a href="PrintSample36.html" target="_blank">样例36</a>都有演示,这种模板需要JS的eval方法来装载。<br><br>
  11. 本例演示的“文档式模板”不再依赖该方法,直接用Lodop的语句<font color="#0000FF">ADD_PRINT_DATA</font>就可装载复用。
  12. <p><b>一、 文档模板的生成: </b></p>
  13. 生成文档模板的方法是<font color="#0000FF">LODOP.GET_VALUE("ProgramData",0);</font>语句,其中参数ProgramData是固定关键字,<br><br>
  14. 参数0代表全部模板内容(含初始化语句),生成之前先点一下<a href="javascript:DisplayDesign()">打印设计</a>开启设计界面:<br>
  15. <object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=800 height=400>
  16. <embed id="LODOP_EM" type="application/x-print-lodop" width=820 height=450 pluginspage="install_lodop32.exe"></embed>
  17. </object>
  18. <p>再点<a href="javascript:getProgramData()">生成模板</a>看看获取的文档模板到底啥样:</p>
  19. <textarea rows="10" id="S1" cols="98" >返回的结果值</textarea>
  20. <p>以上文档是特殊格式的BASE64字符,符合该编码集范畴,很容易保存(参考<a href="PrintSample35.html" target="_blank">样例35</a>)和网络传递。
  21. <p><b>二、 文档模板的使用:</b></p>
  22. 点<a href="javascript:DesignByPRGData()">加载模板</a>使用以上模板再次设计,或直接使用模板进行<a href="javascript:PreviewByPRGData()">打印预览</a>,
  23. 模板加载后用<font color="#0000FF">SET_PRINT_STYLEA</font>语句赋值。
  24. <br>
  25. <p><b>三、相关语句的参数含义:</b><br>
  26. 1.GET_VALUE (ValueType, ValueIndex);<br>
  27. <font color="#0000FF">ValueType</font>:获得文档式模板关键字是“ProgramData”:;
  28. <br>
  29. <font color="#0000FF">intModeValue</font> 0-全部模板;1-不包含初始化语句的模板。 </p>
  30. <br>
  31. 2.ADD_PRINT_DATA(strDataStyle, varDataValue);<br>
  32. </font><font color="#0000FF">strDataStyle</font>:加载文档式模板的关键字是“ProgramData”; <br>
  33. <font color="#0000FF">varDataValue</font>:文档式模板内容。 </p><br>
  34. 3.SET_PRINT_STYLEA(varItemNameID, strStyleName,varStyleValue);<br>
  35. </font><font color="#0000FF">
  36. strStyleName</font>:关键字参数值是“CONTENT”;
  37. <br> </p>
  38. <p><a href="PrintSampIndex.html">&lt;&lt;回样例目录</a>
  39. </p>
  40. <script language="javascript" type="text/javascript">
  41. var LODOP;
  42. function DisplayDesign() {
  43. CreatePage();
  44. LODOP.SET_SHOW_MODE("DESIGN_IN_BROWSE",1);
  45. LODOP.PRINT_DESIGN();
  46. };
  47. function getProgramData() {
  48. LODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));
  49. if (LODOP.CVERSION) LODOP.On_Return=function(TaskID,Value){document.getElementById('S1').value=Value;};
  50. document.getElementById('S1').value=LODOP.GET_VALUE("ProgramData",0); //获得文档式模板
  51. };
  52. function DesignByPRGData() {
  53. LODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));
  54. LODOP.ADD_PRINT_DATA("ProgramData",document.getElementById('S1').value); //装载模板
  55. //按类名赋值
  56. LODOP.SET_PRINT_STYLEA("jj_xm","CONTENT","张三");
  57. LODOP.SET_PRINT_STYLEA("jj_dz","CONTENT","北京昌平昌盛路XX号");
  58. LODOP.SET_PRINT_STYLEA("jj_dh","CONTENT","18612345678");
  59. LODOP.SET_PRINT_STYLEA("sj_xm","CONTENT","李四");
  60. LODOP.SET_PRINT_STYLEA("sj_dz","CONTENT","山东泰安市泰山区青年路28号银泰大厦");
  61. LODOP.SET_PRINT_STYLEA("sj_dh","CONTENT","15612345678");
  62. LODOP.SET_SHOW_MODE("DESIGN_IN_BROWSE",1);
  63. LODOP.PRINT_DESIGN();
  64. };
  65. function PreviewByPRGData() {
  66. LODOP=getLodop();
  67. LODOP.ADD_PRINT_DATA("ProgramData",document.getElementById('S1').value); //装载模板
  68. //按类名赋值
  69. LODOP.SET_PRINT_STYLEA("jj_xm","CONTENT","张三");
  70. LODOP.SET_PRINT_STYLEA("jj_dz","CONTENT","北京昌平昌盛路XX号");
  71. LODOP.SET_PRINT_STYLEA("jj_dh","CONTENT","18612345678");
  72. LODOP.SET_PRINT_STYLEA("sj_xm","CONTENT","李四");
  73. LODOP.SET_PRINT_STYLEA("sj_dz","CONTENT","山东泰安市泰山区青年路28号银泰大厦");
  74. LODOP.SET_PRINT_STYLEA("sj_dh","CONTENT","15612345678");
  75. LODOP.PREVIEW();
  76. LODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));
  77. };
  78. function CreatePage() {
  79. LODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));
  80. LODOP.PRINT_INITA(0,0,665,600,"打印控件功能演示_Lodop功能_演示文档式模板生成和使用");
  81. LODOP.ADD_PRINT_TEXTA("jj_xm",83,78,75,20,"寄件人姓名");
  82. LODOP.ADD_PRINT_TEXTA("jj_dz",134,90,238,35,"寄件人的详细地址");
  83. LODOP.ADD_PRINT_TEXTA("jj_dh",83,212,100,20,"寄件人电话");
  84. LODOP.ADD_PRINT_TEXTA("sj_xm",85,391,75,20,"收件人姓名");
  85. LODOP.ADD_PRINT_TEXTA("sj_dz",137,403,244,35,"收件人详细地址");
  86. LODOP.ADD_PRINT_TEXTA("sj_dh",80,554,75,20,"收件人电话");
  87. };
  88. //赋值并输出
  89. </script>
  90. </body>
  91. </html>