JS达到Web指定保存的和打印功能的内容

背景

首先,说说文章的背景。近期手中的一个项目,因为需求中要求提供Web界面的打印功能。当然假设没有打印机,还能够提供保存到本地。项目组长把这个“小任务”分给了我。本着努力为组长分忧解难的思想,领了任务之后,就立即開始了工作。

问题

刚開始的时候。组长给了一个工具(jatoolsprinter)让我研究。我用了一个多小时的时间,做出了一个简单的Demo,然后就是各种的測试,因为 web 打印须要浏览器安装 ActiveX 组件。在随后的測试中,我用了几款浏览器。甚至把安全级别都调到了最低的要求, ActiveX 组件的安装总是不成功。之后的几个小时也在一直调这个问题。

最终,它打破了我耐心的底线,就这样被我“无情”的给抛弃了。

新大陆

吃过晚饭回来之后,我就開始走上了寻找新大陆的征途中。还好。我的运气不错,web 打印这个功能还是非经常常使用的。

非常快我就有了一个新的解决方式。在简单的了解了一下官方的说明之后,找了一个文档看了看。这次我吸取了上次的教训,我先把官方提供的插件制作成了 CAB。并且立即就展开了測试,通过測试。我发现这一款工具在各版本号浏览器的兼容性表现还是不错的,至于功能方面,我须要的他都提供了,并且额外的功能也是非常多的。足够我们开发使用了。对了。不得不提的是。他对浏览器安装 ActiveX
组件还提供了第二种方法,首先检測有没有安装插件。未检測到插件时,自己主动提示,并给出下载插件的地址,这里的插件使用的是 exe 格式的。这样就避免了浏览器安全设置的问题。

组件

  • 组件名称:Lodop(提供下载)
  • 须要引入的文件:lodop.cab(自己制作的)、LodopFuncs.js(必须的)、install_lodop32.exe(可选的,官方提供的exe格式插件)
  • 须要在页面中增加对象引用

点击安装之后,浏览器就会自己主动的安装,然后就能够看到以下的提示了。

实现

  • 首先是打印功能

html 代码

<span style="font-family:Microsoft YaHei;font-size:12px;"><html>
<head>
    <title>測试Web页面打印功能</title>
</head>
<style>
   .title
   {
   font-family: Arial, Vernada, Tahoma, sans-serif;
   font-size: 30px;
   color: #00008B;
   background-color: White;
   text-decoration: underline
   }
   .normal
   {
   font-family: Arial, Vernada, Tahoma, Helvetica, sans-serif;
   font-size: 14px;
   color: #444444;
   text-decoration: none;
   line-height: 180%;
   }
   #page1 div
   {
   font-size: 12px;font-family:Arial;
   }
   .tab1{border:solid 1px #bbd4e8;}
   .tab1 td,th {border:solid 1px #bbd4e8;font-size: 12px;font-family:Arial;line-height:21px;text-align:center}
   .tab1 td.tdnumber{text-align:right}
   .tab1 #lastPageFooter td,.tab1 #everyPageFooter td{text-align:left}
   .tab1 .green {color:#090}
   .tab1 .red{color:red}
   #myEveryFooter,#myLastFooter{display:none;color:#0066cc;font-weight:700;background-color:#e8f2fe}
   span.src{font-size:9pt;margin-left:100px;}
</style>
<object classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" codebase="lodop.cab#version=5,0,5,7" width=200 height=50 >
</object><br/>
<body>
    <input type="button" value="打印预览" onClick="prn1_preview();">
    <input type="button" value="直接打印" onClick="prn1_print();">
    <input type="button" value="选择打印机" onClick="prn1_printA();">

    <div id="form1" style="position:relative;width:227mm;height:80mm" autoBreakTable='dt_1'>
        <table id="dt1" class="tab1" cellSpacing="0" cellPadding="0" style='border-collapse:collapse;width:683px;'
               headerRows='2' everyFooter='myEveryFooter' lastFooter='myLastFooter'>
            <caption style='font-size:36px;height:60px;font-family:Microsoft YaHei;color:#a7c0dc' class='first-only'>股票投资营收明细
            </caption>
            <thead class="h101">
                <tr>
                    <th style="padding: 0px; width: 32px; white-space: nowrap;" rowSpan="2">序号</th>
                    <th style="padding: 0px; width: 62px; white-space: nowrap;" rowSpan="2"><a hideFocus="true" style="padding: 0px;"
                                                                                               href="#" target="_self">股票代码</a></th>
                    <th style="padding: 0px; width: 65px; white-space: nowrap;" rowSpan="2">股票简称</th>
                    <th style="padding: 0px; width: 70px; white-space: nowrap;" rowSpan="2">相关资料</th>
                    <th style="padding: 0px; width: 58px;" rowSpan="2"><a hideFocus="true" style="padding: 0px;" href="#"
                                                                          target="_self">每股收<br>益(元)</a></th>
                    <th style="padding: 0px; width: 196px;" colSpan="3">营业收入</th>
                    <th style="padding: 0px; width: 193px;" colSpan="3">净利润</th>
                </tr>
                <tr>
                    <th style="padding: 0px; width: 70px;"><a hideFocus="true" style="padding: 0px;" href="#" target="_self">营业收入<br>(万元)</a>
                    </th>
                    <th style="padding: 0px; width: 62px;"><a hideFocus="true" style="padding: 0px;" href="#" target="_self">同比增长<br>(%)</a>
                    </th>
                    <th style="padding: 0px; width: 62px;"><a hideFocus="true" style="padding: 0px;" href="#" target="_self">季度环比<br>增长(%)</a>
                    </th>
                    <th style="padding: 0px; width: 66px;"><a hideFocus="true" style="padding: 0px;" href="#" target="_self">净利润<br>(万元)</a>
                    </th>
                    <th style="padding: 0px; width: 62px;"><a hideFocus="true" style="padding: 0px;" href="#" target="_self">同比增长<br>(%)</a>
                    </th>
                    <th style="padding: 0px; width: 62px;"><a hideFocus="true" style="padding: 0px;" href="#" target="_self">季度环比<br>增长(%)</a>
                    </th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>1</td>
                    <td><a href="#">300184</a></td>
                    <td><a href="#">力源信息</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.0600</span></td>
                    <td class="tdnumber"><span>7225.38</span></td>
                    <td class="tdnumber"><span class="red">15.69</span></td>
                    <td class="tdnumber"><span class="green">-10.65</span></td>
                    <td class="tdnumber"><span>563.83</span></td>
                    <td class="tdnumber"><span class="red">79.25</span></td>
                    <td class="tdnumber"><span class="red">90.00</span></td>
                </tr>
                <tr class="odd">
                    <td>2</td>
                    <td><a href="#">300094</a></td>
                    <td><a href="#">国联水产</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>-0.0200</span></td>
                    <td class="tdnumber"><span>38563.77</span></td>
                    <td class="tdnumber"><span class="red">57.53</span></td>
                    <td class="tdnumber"><span class="green">-12.89</span></td>
                    <td class="tdnumber"><span>-871.34</span></td>
                    <td class="tdnumber"><span class="red">70.47</span></td>
                    <td class="tdnumber"><span class="red">93.48</span></td>
                </tr>
                <tr>
                    <td>3</td>
                    <td><a href="#">300268</a></td>
                    <td><a href="#">万福生科</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>-0.0360</span></td>
                    <td class="tdnumber"><span>7328.07</span></td>
                    <td class="tdnumber"><span class="red">54.57</span></td>
                    <td class="tdnumber"><span class="green">-36.38</span></td>
                    <td class="tdnumber"><span>-477.11</span></td>
                    <td class="tdnumber"><span class="green">-50.05</span></td>
                    <td class="tdnumber"><span class="green">-92.22</span></td>
                </tr>
                <tr class="odd">
                    <td>4</td>
                    <td><a href="#">300277</a></td>
                    <td><a href="#">海联讯</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.0074</span></td>
                    <td class="tdnumber"><span>6362.02</span></td>
                    <td class="tdnumber"><span class="red">46.90</span></td>
                    <td class="tdnumber"><span class="green">-14.14</span></td>
                    <td class="tdnumber"><span>98.74</span></td>
                    <td class="tdnumber"><span class="red">120.41</span></td>
                    <td class="tdnumber"><span class="green">-86.32</span></td>
                </tr>
                <tr>
                    <td>5</td>
                    <td><a href="#">300340</a></td>
                    <td><a href="#">科恒股份</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.0600</span></td>
                    <td class="tdnumber"><span>8960.76</span></td>
                    <td class="tdnumber"><span class="green">-43.65</span></td>
                    <td class="tdnumber"><span class="green">-25.43</span></td>
                    <td class="tdnumber"><span>320.76</span></td>
                    <td class="tdnumber"><span class="green">-84.28</span></td>
                    <td class="tdnumber"><span class="red">147.56</span></td>
                </tr>
                <tr class="odd">
                    <td>6</td>
                    <td><a href="#">300002</a></td>
                    <td><a href="#">神州泰岳</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.2500</span></td>
                    <td class="tdnumber"><span>34845.30</span></td>
                    <td class="tdnumber"><span class="red">43.44</span></td>
                    <td class="tdnumber"><span class="green">-18.22</span></td>
                    <td class="tdnumber"><span>9744.63</span></td>
                    <td class="tdnumber"><span class="red">73.25</span></td>
                    <td class="tdnumber"><span class="green">-26.15</span></td>
                </tr>
                <tr>
                    <td>7</td>
                    <td><a href="#">300063</a></td>
                    <td><a href="#">天龙集团</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.0362</span></td>
                    <td class="tdnumber"><span>9355.08</span></td>
                    <td class="tdnumber"><span class="red">26.80</span></td>
                    <td class="tdnumber"><span class="green">-6.40</span></td>
                    <td class="tdnumber"><span>363.48</span></td>
                    <td class="tdnumber"><span class="green">-1.56</span></td>
                    <td class="tdnumber"><span class="red">94.76</span></td>
                </tr>
                <tr class="odd">
                    <td>8</td>
                    <td><a href="#">300140</a></td>
                    <td><a href="#">启源装备</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.0300</span></td>
                    <td class="tdnumber"><span>3320.54</span></td>
                    <td class="tdnumber"><span class="green">-31.59</span></td>
                    <td class="tdnumber"><span class="green">-28.35</span></td>
                    <td class="tdnumber"><span>379.53</span></td>
                    <td class="tdnumber"><span class="green">-167.03</span></td>
                    <td class="tdnumber"><span class="green">-41.75</span></td>
                </tr>
				<tr>
                    <td>9</td>
                    <td><a href="#">300142</a></td>
                    <td><a href="#">沃森生物</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.1400</span></td>
                    <td class="tdnumber"><span>9400.33</span></td>
                    <td class="tdnumber"><span class="red">69.34</span></td>
                    <td class="tdnumber"><span class="green">-49.37</span></td>
                    <td class="tdnumber"><span>2585.85</span></td>
                    <td class="tdnumber"><span class="red">10.69</span></td>
                    <td class="tdnumber"><span class="green">-66.60</span></td>
                </tr>
                <tr class="odd">
                    <td>10</td>
                    <td><a href="#">300161</a></td>
                    <td><a href="#">华中数控</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>-0.0200</span></td>
                    <td class="tdnumber"><span>6920.17</span></td>
                    <td class="tdnumber"><span class="green">-34.03</span></td>
                    <td class="tdnumber"><span class="green">-60.79</span></td>
                    <td class="tdnumber"><span>-259.10</span></td>
                    <td class="tdnumber"><span class="green">-157.82</span></td>
                    <td class="tdnumber"><span class="red">19.92</span></td>
                </tr>
                <tr>
                    <td>11</td>
                    <td><a href="#">300218</a></td>
                    <td><a href="#">安利股份</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.0408</span></td>
                    <td class="tdnumber"><span>24035.55</span></td>
                    <td class="tdnumber"><span class="green">-4.15</span></td>
                    <td class="tdnumber"><span class="green">-19.03</span></td>
                    <td class="tdnumber"><span>861.89</span></td>
                    <td class="tdnumber"><span class="red">4.25</span></td>
                    <td class="tdnumber"><span class="green">-5.31</span></td>
                </tr>
                <tr class="odd">
                    <td>12</td>
                    <td><a href="#">300232</a></td>
                    <td><a href="#">洲明科技</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.0400</span></td>
                    <td class="tdnumber"><span>14773.69</span></td>
                    <td class="tdnumber"><span class="red">75.61</span></td>
                    <td class="tdnumber"><span class="green">-25.47</span></td>
                    <td class="tdnumber"><span>423.65</span></td>
                    <td class="tdnumber"><span class="red">148.16</span></td>
                    <td class="tdnumber"><span class="green">-3.03</span></td>
                </tr>
                <tr>
                    <td>13</td>
                    <td><a href="#">300007</a></td>
                    <td><a href="#">汉威电子</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.0500</span></td>
                    <td class="tdnumber"><span>5670.97</span></td>
                    <td class="tdnumber"><span class="green">-8.62</span></td>
                    <td class="tdnumber"><span class="green">-23.81</span></td>
                    <td class="tdnumber"><span>624.92</span></td>
                    <td class="tdnumber"><span class="green">-17.08</span></td>
                    <td class="tdnumber"><span class="green">-49.80</span></td>
                </tr>
                <tr class="odd">
                    <td>14</td>
                    <td><a href="#">300010</a></td>
                    <td><a href="#">立思辰</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.0210</span></td>
                    <td class="tdnumber"><span>7268.28</span></td>
                    <td class="tdnumber"><span class="green">-29.57</span></td>
                    <td class="tdnumber"><span class="green">-65.22</span></td>
                    <td class="tdnumber"><span>548.31</span></td>
                    <td class="tdnumber"><span class="green">-35.56</span></td>
                    <td class="tdnumber"><span class="green">-67.36</span></td>
                </tr>
                <tr>
                    <td>15</td>
                    <td><a href="#">300013</a></td>
                    <td><a href="#">新宁物流</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.0600</span></td>
                    <td class="tdnumber"><span>8695.67</span></td>
                    <td class="tdnumber"><span class="red">22.76</span></td>
                    <td class="tdnumber"><span class="green">-2.85</span></td>
                    <td class="tdnumber"><span>536.05</span></td>
                    <td class="tdnumber"><span class="red">237.79</span></td>
                    <td class="tdnumber"><span class="red">1681.49</span></td>
                </tr>
                <tr class="odd">
                    <td>16</td>
                    <td><a href="#">300015</a></td>
                    <td><a href="#">爱尔眼科</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.1100</span></td>
                    <td class="tdnumber"><span>41337.67</span></td>
                    <td class="tdnumber"><span class="red">16.59</span></td>
                    <td class="tdnumber"><span class="green">-1.72</span></td>
                    <td class="tdnumber"><span>4872.39</span></td>
                    <td class="tdnumber"><span class="red">2.38</span></td>
                    <td class="tdnumber"><span class="red">40.29</span></td>
                </tr>
                <tr>
                    <td>17</td>
                    <td><a href="#">300018</a></td>
                    <td><a href="#">中元华电</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.0500</span></td>
                    <td class="tdnumber"><span>3872.17</span></td>
                    <td class="tdnumber"><span class="red">17.86</span></td>
                    <td class="tdnumber"><span class="green">-53.55</span></td>
                    <td class="tdnumber"><span>646.25</span></td>
                    <td class="tdnumber"><span class="green">-23.40</span></td>
                    <td class="tdnumber"><span class="green">-44.71</span></td>
                </tr>
                <tr class="odd">
                    <td>18</td>
                    <td><a href="#">300021</a></td>
                    <td><a href="#">大禹节水</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.0200</span></td>
                    <td class="tdnumber"><span>8724.67</span></td>
                    <td class="tdnumber"><span class="red">18.81</span></td>
                    <td class="tdnumber"><span class="green">-60.07</span></td>
                    <td class="tdnumber"><span>458.52</span></td>
                    <td class="tdnumber"><span class="green">-13.50</span></td>
                    <td class="tdnumber"><span class="green">-56.93</span></td>
                </tr>
                <tr>
                    <td>19</td>
                    <td><a href="#">300022</a></td>
                    <td><a href="#">吉峰农机</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.0115</span></td>
                    <td class="tdnumber"><span>61165.58</span></td>
                    <td class="tdnumber"><span class="green">-13.36</span></td>
                    <td class="tdnumber"><span class="green">-64.11</span></td>
                    <td class="tdnumber"><span>410.85</span></td>
                    <td class="tdnumber"><span class="green">-39.14</span></td>
                    <td class="tdnumber"><span class="red">114.09</span></td>
                </tr>
				<tr class="odd">
                    <td>20</td>
                    <td><a href="#">300024</a></td>
                    <td><a href="#">机器人</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.1169</span></td>
                    <td class="tdnumber"><span>24051.82</span></td>
                    <td class="tdnumber"><span class="red">4.38</span></td>
                    <td class="tdnumber"><span class="green">-16.85</span></td>
                    <td class="tdnumber"><span>3479.12</span></td>
                    <td class="tdnumber"><span class="red">31.52</span></td>
                    <td class="tdnumber"><span class="green">-61.57</span></td>
                </tr>
                <tr>
                    <td>21</td>
                    <td><a href="#">300026</a></td>
                    <td><a href="#">红日药业</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.2500</span></td>
                    <td class="tdnumber"><span>40097.11</span></td>
                    <td class="tdnumber"><span class="red">141.46</span></td>
                    <td class="tdnumber"><span class="green">-6.86</span></td>
                    <td class="tdnumber"><span>6109.82</span></td>
                    <td class="tdnumber"><span class="red">67.14</span></td>
                    <td class="tdnumber"><span class="red">10.78</span></td>
                </tr>
                <tr class="odd">
                    <td>22</td>
                    <td><a href="#">300028</a></td>
                    <td><a href="#">金亚科技</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.0377</span></td>
                    <td class="tdnumber"><span>13848.97</span></td>
                    <td class="tdnumber"><span class="red">97.63</span></td>
                    <td class="tdnumber"><span class="green">-29.50</span></td>
                    <td class="tdnumber"><span>999.36</span></td>
                    <td class="tdnumber"><span class="red">10.79</span></td>
                    <td class="tdnumber"><span class="red">1144.05</span></td>
                </tr>
                <tr>
                    <td>23</td>
                    <td><a href="#">300029</a></td>
                    <td><a href="#">天龙光电</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>-0.0500</span></td>
                    <td class="tdnumber"><span>11365.73</span></td>
                    <td class="tdnumber"><span class="red">169.45</span></td>
                    <td class="tdnumber"><span class="red">2152.89</span></td>
                    <td class="tdnumber"><span>-1063.03</span></td>
                    <td class="tdnumber"><span class="red">25.02</span></td>
                    <td class="tdnumber"><span class="red">97.50</span></td>
                </tr>
                <tr class="odd">
                    <td>24</td>
                    <td><a href="#">300040</a></td>
                    <td><a href="#">九洲电气</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.0300</span></td>
                    <td class="tdnumber"><span>4224.85</span></td>
                    <td class="tdnumber"><span class="green">-53.34</span></td>
                    <td class="tdnumber"><span class="green">-71.61</span></td>
                    <td class="tdnumber"><span>363.31</span></td>
                    <td class="tdnumber"><span class="red">35.57</span></td>
                    <td class="tdnumber"><span class="green">-99.16</span></td>
                </tr>
                <tr>
                    <td>25</td>
                    <td><a href="#">300050</a></td>
                    <td><a href="#">世纪鼎利</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.0100</span></td>
                    <td class="tdnumber"><span>7375.58</span></td>
                    <td class="tdnumber"><span class="green">-14.22</span></td>
                    <td class="tdnumber"><span class="green">-30.18</span></td>
                    <td class="tdnumber"><span>137.55</span></td>
                    <td class="tdnumber"><span class="green">-81.35</span></td>
                    <td class="tdnumber"><span class="red">114.25</span></td>
                </tr>
                <tr class="odd">
                    <td>26</td>
                    <td><a href="#">300052</a></td>
                    <td><a href="#">中青宝</a></td>
                    <td>
                        <nobr> <a style="color: rgb(255, 0, 0);" href="#">具体</a> <a href="#">股吧</a>
                        </nobr>
                    <td class="tdnumber"><span>0.0300</span></td>
                    <td class="tdnumber"><span>4342.76</span></td>
                    <td class="tdnumber"><span class="red">41.35</span></td>
                    <td class="tdnumber"><span class="green">-24.89</span></td>
                    <td class="tdnumber"><span>384.77</span></td>
                    <td class="tdnumber"><span class="red">111.27</span></td>
                    <td class="tdnumber"><span class="red">9.19</span></td>
                </tr>
            </tbody>
        </table>
    </div>
</body>
</html></span>

js 代码

<span style="font-family:Microsoft YaHei;font-size:12px;"><script type="text/javascript" src="LodopFuncs.js"></script>
<script type="text/javascript">
	var LODOP; //声明为全局变量
	// 打印预览
	function prn1_preview() {
		CreateOneFormPage();
		LODOP.PREVIEW();
	};
	// 直接打印
	function prn1_print() {
		CreateOneFormPage();
		LODOP.PRINT();
	};
	// 选择打印机
	function prn1_printA() {
		CreateOneFormPage();
		LODOP.PRINTA();
	};
	// 创建打印页面
	function CreateOneFormPage(){
		LODOP=getLodop();
		LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_表单一");
		LODOP.SET_PRINT_STYLE("FontSize",18);
		LODOP.SET_PRINT_STYLE("Bold",1);
		LODOP.ADD_PRINT_HTM(10,20,500,5000,document.getElementById("form1").innerHTML);
	};
</script></span>

效果图

点击。打印预览之后。就会出现以下的效果:

当然。你还能够选择打印机,在打印预览里边也能够进入这个页面。仅仅须要点击设置就可以。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFwcHlsZWU2Njg4/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

  • 然后是保存功能

html 代码同样,这里就不再反复贴了

js 代码

<span style="font-family:Microsoft YaHei;font-size:12px;"><script type="text/javascript">
	// 导出为Word
	function makeWord() {
			var word = new ActiveXObject("Word.Application");
			// 打开已有模板
			// var doc = word.documents.open("");
			// 不打开模板直接增加内容
			var doc = word.Documents.Add("", 0, 1);
			var Range=doc.Range(); 

			var sel = document.body.createTextRange();
			sel.moveToElementText(form1);  //此处form1是页面上DIV的id
			sel.select();
			sel.execCommand("Copy");
			Range.Paste();
			word.Application.Visible = true;
			//存放到指定的位置注意路径一定要是“//”不然会报错
			doc.saveAs("D://股票投资营收明细.doc");
		}
</script></span>

效果图

点击“导出为Word”之后,会出现一个与ActiveX控件交互的提示,点击“是”之后。就能够保存到word中了。

结束语

怎么样,非常easy吧!web 页面打印指定内容事实上就这么简单。

仅仅要找对好的工具,什么都不它是一个事!

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-10-26 19:46:41

JS达到Web指定保存的和打印功能的内容的相关文章

快速使用node.js进行web开发

首先关于node.js的学习,这里推荐一本比较好的教程,nodejs web开发指南,该书通俗易懂地将node.js语言特性讲解完之后,又从一个项目角度带领读者使用node.js学习web开发.相信这是一个比较好的学习模式和过程.由于这本书是2012年出的,书中的一个web教学项目是开发一个微博.从2012到现在,node.js及其生态环境发生了很大改变,所以关于该书的学习如果照着书本显然是过于陈旧的.到目前为止,node.js的web开发框架已经升级到了Express4.12.1,对于Mong

【JS】通过JS实现超市小票打印功能——ActiveX控件

应客户的需求= = ,要在网页端实现打印小票的功能 先来一张打印出的小票效果图(合计明显不对,因为有修改订单功能,请各位忽略) 用什么方法实现呢:我想应该是有三种吧 1.用第三方的浏览器控件(这个好似比较方便,我的老师也是这样建议我)向大家推荐一个 Lodop打印控件 2.用CSS写好模板,然后直接用页面打印的方法(应该是这样吧) (以上两种还没有尝试,这两天陆续尝试) 3.用微软自己的ActiveX控件(ActiveX控件可以实现调用本地的文件等操作(之前试过调用cmd,实现shutdown

lodop 控件实现web打印功能

WEB套打可选方案不多,理想的更少,利用免费控件Lodop+JavaScript实现精确套打,算是较为经典的选择.这种方案其实比较简单,利用一个htm文件就可以实现模板设计过程,几乎是"空手套"式的开发,但理解这几个步骤还是需要点时间,下面一步步详细演示说明: 第一步:建立一个空白的模板设计文件 把以下超文本代码复制到一个本地htm文件中: 本文模拟EMS特快专递单的程序开发,文件起名为printEMS.htm,权且称它为模板设计文件. 第二步:用浏览器打开该文件 在本地文件夹中双击该

Express 4.x Node.js的Web框架

为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3821150.html 本文使用node.js v0.10.28 + express 4.2.0 1 Express概述 Express 是一个简洁而灵活的node.js的MVC Web应用框架,提供一系列强大特性创建各种Web应用. Express 不对 node.js 已有的特性进行二次抽象,我们只是在它之上扩展了We

Node.js 没有Web容器

Node.js 特点 1.单线程 在Java.PHP或者.net等服务器端语言中,会为每一个客户端连接创建一个新的线程.而每个线程需要耗费大约2MB内存.也就是说,理论上,一个8GB内存的服务器可以同时连接的最大用户数为4000个左右.要让Web应用程序支持更多的用户,就需要增加服务器的数量,而Web应用程序的硬件成本当然就上升了. Node.js不为每个客户连接创建一个新的线程,而仅仅使用一个线程.当有用户连接了,就触发一个内部事件,通过非阻塞I/O.事件驱动机制,让Node.js程序宏观上也

基于Arcgis for Js的web GIS数据在线采集简介

在前一篇博文"Arcgis for js之WKT和geometry转换"中实现了wkt和geometry之间的相互转化,博文原文地址为:http://blog.csdn.net/gisshixisheng/article/details/44057453.在本节,接上文,简单讲述基于Arcgis for Js的web GIS数据在线采集. 实现数据的在线采集,最主要的是数据的存储,即将采集到的数据的geometry对象保存下来,并后续可以转换为shp数据.在本文,我的处理方式为将前段绘

WEB打印功能相关

最近项目要实现WEB打印功能,各种调试. 首先要实现WEB打印,这块用的window下的print方法,下面的代码实现了WEB打印和去页眉页脚的功能,打印分页需要在想要分页的元素上设置style="page-break-after:always",我这里是在table元素上加的分页,其他元素没测 1 //打印代码 2 function Print() 3 { 4 var printStr = "<html> 5 <head> 6 <meta ht

HTML5+JS手机web开发之jQuery Mobile初涉

一.起始之语 我一直都是在PC上折腾网页的,这会儿怎么风向周边捣鼓起手机网页开发呢?原因是公司原先使用Java开发的产品,耗了不少人力财力,但是最后的效果却不怎么好.因为,Android系统一套东西,iPhone又是新的一套,折腾死人呐. 于是总监发狠,让我把手上的活都交出去,专心折腾web版的,看看最后效果如何. 加上我觊觎手机上的开发学习很久了,于是,一拍即合,搞起了手机开发方面的学习. 分享是很好的提高自身学习的方法.因为分享过程中梳理了所学,往往会有些意想不到的心得与收获.如此利人利已的

node.js 11 Web框架Express 介绍,安装,静态页面,路由

本文参考原文-http://bjbsair.com/2020-03-22/tech-info/2815/前面介绍了node.js的文件模块,http server以及静态网站的创建.有了这些知识作为基础,我们可以了解一下node.js的Web框架了. 从Java一路过来的朋友可能觉得Web框架还是比较重量级的,比如最初的Struts到后来的Spring,中间Apache组织也有过一些其他的模板框架,总体而言无论是从使用还是学习来讲,都是需要花费较多时间的.对于大型应用而言,这个投入是值得的.如果