最开始使用PAZU控件来实现自动打印。安装了Smart Printer来打印tif文件。
使用localhost是可以的。但是用ip访问,就不能用。需要license。虽然是免费申请的。但是麻烦啊,而且我的服务器是外网不能访问的。心一狠,我就不信不用pazu做不出来。。。。
网上找了下。使用smsx.cab来实现。首先下载安装文件。安装好后 有个smsx.cab文件 。拷贝到项目里。
在页面上添加代码
<object id="factory" style="display:none"
classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
codebase="smsx.cab#Version=6.5.439.50">
</object>
<input name="Button1" type="button" value="打印试试!" onclick="doprint()" style="width: 301px" />
JS代码
function doprint(){
if (!factory.object) {
alert("打印控件没有正确安装!");
return;
}
else{
try{
factory.printing.printer = "Smart Print";
factory.printing.header = "";
factory.printing.footer = "";
factory.printing.portrait = true; //portrait是指打印方向,设置为true就是纵向,false就是横向。
//......
factory.DoPrint(false); //设置为false,直接打印
}catch(e){
alert("提示语句!");
//....
}
}
}
就可以了。另外设置smart printer的属性 如 自动保存文件夹和保存格式。
备注一些常用功能:
<script defer>
// -------------------基本功能,可免费使用-----------------------
factory.printing.header = "";//页眉
factory.printing.footer = "";//页脚
factory.printing.SetMarginMeasure(1);//页边距单位,1为毫米,2为英寸
//边距设置,需要注意大部分打印机都不能进行零边距打印,即有一个边距的最小值,一般都是6毫米以上
//设置边距的时候时候如果设置为零,就会自动调整为它的最小边距
factory.printing.leftMargin = 7;//左边距
factory.printing.topMargin = 7;//上边距
factory.printing.rightMargin = 7;//右边距
factory.printing.bottomMargin = 7;//下边距
factory.printing.portrait = true;//是否纵向打印,横向打印为false
//--------------------高级功能---------------------------------------------
factory.printing.printer = "EPSON LQ-1600KIII";//指定使用的打印机
//factory.printing.printer = "\\\\cosa-data\\HPLaserJ";//如为网络打印机,则需要进行字符转义
factory.printing.paperSize = "A4";//指定使用的纸张
factory.printing.paperSource = "Manual feed";//进纸方式,这里是手动进纸
factory.printing.copies = 1;//打印份数
factory.printing.printBackground = false;//是否打印背景图片
factory.printing.SetPageRange(false, 1, 3); //打印1至3页
//---------------------常用函数--------------------------------
factory.printing.Print(false);//无确认打印,true时打印前需进行确认
//factory.printing.Print(false, pageFrame); pageFrame为Iframe或Frame框架名称,只打印框架内容
factory.printing.PrintSetup();//打印设置
factory.printing.Preview();//打印预览
factory.printing.WaitForSpoolingComplete();//等待上一个打印任务完全送入打印池,在连续无确认打印时非常有用
factory.printing.EnumPrinters(index);//枚举已安装的所有打印机,主要用于生成打印机选择功能
</script>
缺点:只能在IE下使用。需安装active控件。
注意:需要把服务器IP添加为本地信任站点。否则打印不能正确执行。
分享到:
相关推荐
很不错的WEB打印控件,能方便地进行打印设置。 PAZU 的永久主站网址 http://www.4Fang.net/tech/pazu.html PAZU 的永久下载网址 http://www.4Fang.net/4ff/sc_setup.exe PAZU 开发包下载网址 ...
在实现自动打印小票的页面中,需要使用HTML和CSS技术来设计小票的布局和样式。HTML用于构建小票的结构,CSS用于控制小票的样式。在小票内容的设计上,需要考虑到小票的可读性和格式布局,包括标题、内容、分割线、...
Web打印控件,顾名思义,是用于网页中实现打印功能的软件组件。它允许用户直接从浏览器窗口打印网页内容,无需跳出浏览器或通过其他应用程序。这对于在线文档查看、报表生成和电子商务等场景至关重要。本压缩包中...
总的来说,PAZU作为一款免费的网页打印工具,旨在提供一种高效、灵活的方式来管理和打印网页内容,无论是个人使用还是商业应用,都能为用户带来便利。其丰富的功能和友好的用户界面,使其在同类产品中具有竞争优势。
sc_setup.exe很可能是该控件的安装程序,index.htm和pazu-demo-ifrm.htm可能包含了示例代码或在线演示,pazu_tprinter.html和pazu_twin.html可能是关于控件特性和使用的详细说明,而printer.jpg可能展示了打印控件的...
pazu0522.github.io