前些天发现一个不错的打印的控件Lodop,下面就来介绍一下具体使用!
首先到官网:http://www.lodop.net/download.html 下载最新版,文档的话官网中有很详细的介绍,这里演示的是6.198版本
1.首先导入JS
<script src="Scripts/LodopFuncs.js"></script>
2.制作一个简单的页面
<div style="margin-bottom: 10px; margin-top: 10px; text-align: center"> <input type="button" value="打印预览" onclick="printView()" /> <input type="button" value="打印" onclick="ptint()" /> </div> <table class="m_table" id="m_table"> <tr> <th>作者</th> <th>歌曲名</th> <th>国籍</th> </tr> <tr> <td>Bob Dylan</td> <td>Empire Burlesque</td> <td>USA</td> </tr> <tr> <td>Bonnie Tyler</td> <td>Hide your heart</td> <td>UK</td> </tr> <tr> <td>Dolly Parton</td> <td>Greatest Hits</td> <td>USA</td> </tr> <tr> <td>Gary Moore</td> <td>Still got the blues</td> <td>UK</td> </tr> <tr> <td>Eros Ramazzotti</td> <td>Eros</td> <td>EU</td> </tr> <tr> <td>Bee Gees</td> <td>One night only</td> <td>UK</td> </tr> <tr> <td>Dr.Hook</td> <td>Sylvias Mother</td> <td>UK</td> </tr> <tr> <td>Rod Stewart</td> <td>Maggie May</td> <td>UK</td> </tr> <tr> <td>Andrea Bocelli</td> <td>Romanza</td> <td>EU</td> </tr> <tr> <td>Percy Sledge</td> <td>When a man loves a woman</td> <td>USA</td> </tr> <tr> <td>Savage Rose</td> <td>Black angel</td> <td>EU</td> </tr> <tr> <td>Many</td> <td>1999 Grammy Nominees</td> <td>USA</td> </tr> <tr> <td>Kenny Rogers</td> <td>For the good times</td> <td>UK</td> </tr> <tr> <td>Will Smith</td> <td>Big Willie style</td> <td>USA</td> </tr> <tr> <td>Van Morrison</td> <td>Tupelo Honey</td> <td>UK</td> </tr> <tr> <td>Cat Stevens</td> <td>the very best of</td> <td>UK</td> </tr> <tr> <td>Sam Brown</td> <td>Stop</td> <td>UK</td> </tr> <tr> <td>T'Pau</td> <td>Bridge of Spies</td> <td>UK</td> </tr> <tr> <td>Tina Turner</td> <td>Private Dancer</td> <td>UK</td> </tr> <tr> <td>Kim Larsen</td> <td>Midt om natten</td> <td>EU</td> </tr> <tr> <td>Luciano Pavarotti</td> <td>Pavarotti Gala Concert</td> <td>UK</td> </tr> <tr> <td>Otis Redding</td> <td>the dock of the bay</td> <td>USA</td> </tr> <tr> <td>Simply Red</td> <td>Picture book</td> <td>EU</td> </tr> <tr> <td>the Communards</td> <td>Red</td> <td>UK</td> </tr> <tr> <td>Joe Cocker</td> <td>Unchain my heart</td> <td>USA</td> </tr> </table> <div id="twoT" style="display:none"><span style="font-size:30px">第二页</span></div>
3.页面CSS
<style type="text/css" id="printCss"> body { /*不设置的话会变成系统窗口自定义的颜色*/ background: #fff; } .m_table { font-size: 14px; border: solid 1px black; border-collapse: collapse; width: 90%; margin: auto; } .m_table td, th { text-align: center; border: 1px solid black; padding: 3px; } </style>
4.页面JS
<script type="text/javascript">
function printView() {
if (createPrintPage()) {
LODOP.PREVIEW();
} else {
alert("您的浏览器不支持预览功能,请直接打印!");
}
}
function ptint() {
if (createPrintPage()) {
LODOP.PRINT();
alert("打印完成!");
} else {
window.print();
}
}
var LODOP; //声明为全局变量
//创建需要打印的页面
function createPrintPage() {
LODOP = getLodop();
if (!LODOP) {
return false;
}
var strBodyStyle = "<style type="text/css">" + document.getElementById("printCss").innerHTML + "</style>";
var html = document.getElementById("m_table").innerHTML;
html = "<table class="m_table">" + html + "</table>";
var strBodyHtml = strBodyStyle + "<body>" + html + "</body>";
//设置纸张大小,具体设置请参考文档:http://www.lodop.net/uploads/file/sample/PrintSample5.html
LODOP.SET_PRINT_PAGESIZE(0, 0, 0, "A4");
//LODOP.SET_SHOW_MODE("LANDSCAPE_DEFROTATED", 1);//如果是横向时则正向显示【旋转】
//注解:ADD_PRINT_HTM(Top,Left,Width,Height,strHtml)
LODOP.ADD_PRINT_HTM(20, 36, "100%", "100%", strBodyHtml);
LODOP.NEWPAGE(); //强制分页
strBodyHtml = strBodyStyle + "<div>" + document.getElementById("twoT").innerHTML + "</div>";
LODOP.ADD_PRINT_HTM(100, 50, "100%", "100%", strBodyHtml);
return true;
}
</script>
具体步骤就是这样,是不是很简单呢!
Demo下载:LodopDemo.7z