web在线打印,打印阅览,打印维护,打印设计

winform打印的方案比较多,实现也比较容易,并且效果也很是炫;但如今愈来愈多的系统是web系统,甚至是移动端。网上也有很是的web打印方案,但各式各样的问题很是多,好比js兼容性,稳定性等一直缠绕着众多的程序员,或者就是web 打印须要浏览器安装 ActiveX 组件,ActiveX安装不容易成功等等问题。程序员

  下面咱们来看一种web在线阅览,在线编辑,在线打印的解决方案,Lodop这一款在线打印工具在各版本浏览器的兼容性表现不错,功能方面,咱们经常使用的打印阅览,打印设计,打印机设置等他都提供了,并且额外的功能也是不少的,足够咱们开发使用了。他对浏览器安装 ActiveX 组件提供了另一种方法,首先检测有没有安装插件,未检测到插件时,自动提示,并给出下载插件的地址,这里的插件使用的是exe 格式的,这样就避免了浏览器安全设置的问题,至于怎么安装这里就不在赘述。web

  1.准备工做:浏览器

  下载lodop:http://www.lodop.net/uploads/file/Lodop6.198.zip,解压后放到工程中,在页面引入以下代码:安全

<embed id="LODOP_EM" type="application/x-print-lodop" width="0" height="0" pluginspage="../Lodop/install_lodop.exe"></embed>

  其中: app

是专为 FireFox 浏览器设计的代码,若是你这个打印控件只在 IE 上应用,那么上面这名话彻底能够不用的。函数

只这样加就好了:工具

  把这些引入页面之后,剩下的就是一些基本的lodop API调用了。字体

  2.加几个按钮调用spa

复制代码
1 .net


2 @x.Button("打印预览").Icon("icon-printView").Click("print_preview()").ToolTip("打印预览")
3 @x.Button("直接打印").Icon("icon-print").Click("print()").ToolTip("直接打印")
4 @x.Button("选择打印机").Icon("icon-selectPrinter").Click("print_printA()").ToolTip("选择打印机")
5 @x.Button("打印维护").Icon("icon-printSetup").Click("printSetup()").ToolTip("打印维护")
6 @x.Button("打印设计").Icon("icon-printDesign").Click("printDesign()").ToolTip("打印设计")
7

复制代码
  3.这些按钮对应的方法  

复制代码
1 var LODOP; //声明为全局变量
2 // 打印预览
3 function print_preview() {
4 CreatePrintPage();
5 LODOP.PREVIEW();
6 };
7 // 直接打印
8 function print() {
9 CreatePrintPage();
10 LODOP.PRINT();
11 };
12 // 选择打印机
13 function print_printA() {
14 CreatePrintPage();
15 LODOP.PRINTA();
16 };
17 //打印维护
18 function printSetup() {
19 CreatePrintPage();
20 LODOP.PRINT_SETUP();
21 };
22 //打印设计
23 function printDesign() {
24 CreatePrintPage();
25 LODOP.PRINT_DESIGN();
26 };
27 // 建立打印页面
28 function CreatePrintPage() {
29 LODOP = getLodop();
30 LODOP.PRINT_INIT("web在线打印");
31 LODOP.SET_PRINT_PAGESIZE(1, 0, 0, "A4");
32 //设置打印页面属性:2:表示横向打印,0:定义纸张宽度,为0表示无效设置,A4:设置纸张为A4
33 //LODOP.ADD_PRINT_TEXT(50, 231, 260, 39, "打印页面部份内容");
34 LODOP.SET_PRINT_STYLE("FontSize", 18);
35 LODOP.SET_PRINT_STYLE("Bold", 1);
36 LODOP.ADD_PRINT_HTM(10, 30, 760, 860, $('#CurrentDocumentPage')[0].contentWindow.document.body.innerHTML);
37 }
复制代码
  具体API不用详细介绍,这里只说一下ADD_PRINT_HTM(intTop,intLeft,intWidth,intHeight,strHtml)增长超文本项,

$('#CurrentDocumentPage')[0].contentWindow.document.body.innerHTML,就是Iframe页面的内容,须要仔细研究的能够到lodop官网查阅。
1


2
4
5

$("#CurrentDocumentPage").attr("src", viewUrl);

  4.最终效果

  页面内容

  打印阅览

   打印维护的目标用户是页面操做者,开发者在根据业务须要将该界面提供给操做者时,有时会发现其默认功能权限不符合业务要求(亦多亦少),以下是默认的功能权限范围,试着改变勾选,看看演示程序是如何经过SET_SHOW_MODE函数解决这一问题的。

1:位置移动和宽高调整
2:颜色选择
3:字体名选择
4:字大小选择
5:旋角调整
6:粗斜体功能条
7:线型功能条

8:对齐功能条
9:删除功能
10:页眉设置
11:页脚设置
12:位置锁定功能
13:属性设置
14:显示关闭钮(界面内嵌时)

  打印机设置 

  5.总结:

  最后,简单说下Lodop的优点吧:

    (1)、操做简单,API通俗易懂,兼容性好,主流的浏览器都支持了;

    (2)、插件能实现自动安装提醒,而且不须要其余额外的设置;

    (3)、打印维护可以实现权限控制,好比在不修改内容的前提下修改打印的样式,好比调整字体,好比调整位置等等

    (4)、用户设计的打印页面,能够做为个性化的我的设置,系统维护的同一个模板能够适应不一样的打印机。

相关文章
相关标签/搜索