lodop使用
根据相应的操作系统,安装install_lodop32.exe文件,它里面包含两个exe文件install_lodop32.exe和install_lodop64.exe,在页面的头部中引入:
- <!--打印插件-->
- <scripttype="text/javascript"src="<%=basePath%>js/LodopFuncs.js"></script>
- <objectid="LODOP_OB"classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA"width=0height=0>
- <embedid="LODOP_EM"type="application/x-print-lodop"width=0height=0></embed>
- </object>
- <!--打印end-->
当我们在执行操作的时候,它会根据相应的操作系统(32位or64位),选择相应的exe文件,下载安装,这个安装文件比较小,所以安装起来也比较方便。卸载它也很简单,只要复制这个exe文件,然后改名为:uninstall_lodop32.exe,点击运行即可,安装后我们就可以使用里面的JS函数了:
|
| 最基本的打印过程至少有初始化语句、添内容语句和打印语句三部分组成,例如: |
| LODOP.PRINT_INIT("打印任务名");//首先一个初始化语句 LODOP.ADD_PRINT_TEXT(0,0,100,20,"文本内容一");//然后多个ADD语句及SET语句 LODOP.PRINT();//最后一个打印(或预览、维护、设计)语句 |
结合各种函数,输出用户需要的结果:这里我使用的是我的案例,项目中由于文件内容比较长,也比较宽,所以我需要横向打印,并且需要打印很多页,每页都要有固定标题和页脚,例如第1页/共3页,代码如下:
- varLODOP;//声明为全局变量
- functionpreview(){
- CreatePrintPage();
- //打印预览
- LODOP.PREVIEW();
- }
- functionsetup(){
- CreatePrintPage();
- //LODOP.PRINT_SETUP();
- LODOP.PRINT_DESIGN();//打印设置
- }
- functionprint(){
- CreatePrintPage();
- LODOP.PRINT();//打印
- }
- //初始化页面
- functionCreatePrintPage(){
- //得到LODOP对象,注意head标签里面需引入object和embed标签
- LODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));
- //封装我们的html元素
- varstrBodyStyle="<style>table,td{border:1solid#000000;border-collapse:collapse}</style>";
- //获得id为content标签里面的html元素
- varstrFormHtml=strBodyStyle+"<body>"+document.getElementById("content").innerHTML+"</body>";
- //打印初始化,页面距离顶部10px,距离左边10px,宽754px,高453px,给打印设置个标题
- LODOP.PRINT_INITA(10,10,754,453,"打印控件操作");
- //设置打印页面属性:2:表示横向打印,0:定义纸张宽度,为0表示无效设置,A4:设置纸张为A4
- LODOP.SET_PRINT_PAGESIZE(2,0,0,"A4");
- //设置文本,参数(距离页面头部,距离页面左边距离,文本宽度,文本高度,文本内容)
- LODOP.ADD_PRINT_TEXT(21,300,300,30,"${unitType}${flowval}检修记录n");
- //给所添加的文本定义样式,0:表示新添加的元素,相应的属性,相应的值
- LODOP.SET_PRINT_STYLEA(0,"FontSize",15);
- LODOP.SET_PRINT_STYLEA(0,"ItemType",1);//固定标题,设置卫页眉页脚
- LODOP.SET_PRINT_STYLEA(0,"Horient",2);
- LODOP.SET_PRINT_STYLEA(0,"Bold",1);
- //同上
- LODOP.ADD_PRINT_TEXT(40,60,350,30,"机车号:${datePlan.jcType}${datePlan.jcnum}修程:${datePlan.fixFreque}检修日期:${datePlan.kcsj}");
- LODOP.SET_PRINT_STYLEA(0,"ItemType",1);
- //添加html元素
- LODOP.ADD_PRINT_HTM(63,38,684,330,strFormHtml);
- LODOP.SET_PRINT_STYLEA(0,"FontSize",15);
- LODOP.SET_PRINT_STYLEA(0,"ItemType",4);
- LODOP.SET_PRINT_STYLEA(0,"Horient",3);
- LODOP.SET_PRINT_STYLEA(0,"Vorient",3);
- //添加一条线,参数(开始短点距离头部距离,开始端点距左边距离,结束端点距头部距离,结束端点距左边距离)
- LODOP.ADD_PRINT_LINE(53,23,52,725,0,1);
- LODOP.SET_PRINT_STYLEA(0,"ItemType",1);
- LODOP.SET_PRINT_STYLEA(0,"Horient",3);
- LODOP.ADD_PRINT_LINE(414,23,413,725,0,1);
- LODOP.SET_PRINT_STYLEA(0,"ItemType",1);
- LODOP.SET_PRINT_STYLEA(0,"Horient",3);
- LODOP.SET_PRINT_STYLEA(0,"Vorient",1);
- //LODOP.ADD_PRINT_TEXT(421,37,144,22,"左下脚的文本小标题");
- //LODOP.SET_PRINT_STYLEA(0,"Vorient",1);
- LODOP.ADD_PRINT_TEXT(421,542,165,22,"第#页/共&页");
- LODOP.SET_PRINT_STYLEA(0,"ItemType",2);
- LODOP.SET_PRINT_STYLEA(0,"Horient",1);
- LODOP.SET_PRINT_STYLEA(0,"Vorient",1);
- }
上面的函数都是自己通过学习它的API联合起来用的,我的注释可能会有些看不懂,希望大家能把API下载下来进行研究,其中它实现了很多功能哦!
| 1、画一个名片大小的矩形边框: |
| LODOP.ADD_PRINT_RECT(10,55,360,220,0,1); |
| 边框离纸张顶端10px(px是绝对值长度,等于1/96英寸,下同)距左边55px、宽360px、高220px、 |
| 框为实线(0-实线 1-破折线 2-点线 3-点划线 4-双点划线)、线宽为1px |
| 2、设置基本打印风格: |
| LODOP.SET_PRINT_STYLE("FontSize",11); |
| "FontSize"是系统关键字,表示设置字体大小,11是字体大小值,单位是pt。 |
| 3、在矩形框内打印姓名栏: |
| LODOP.ADD_PRINT_TEXT(20,180,100,25,"郭德强"); |
| 姓名栏离纸张顶端20px、距左边180px、宽100px、高25px、内容为“郭德强” |
| 4、设置姓名栏的打印风格: |
| LODOP.SET_PRINT_STYLEA(2,"FontName","隶书"); |
| LODOP.SET_PRINT_STYLEA(2,"FontSize",15); |
| 2是姓名栏的增加顺序号,"FontName"和"FontSize"是系统关键字,表示设置字体名和字体大小。 |
| "隶书"是字体名值,同操作系统的字体名,15是字体大小值,单位是pt。 |
| 序号设0表示最新对象,注意SET_PRINT_STYLEA与SET_PRINT_STYLE的区别。 |
| 5、下面打印其职务、地址、电话等(用基本风格): |
| LODOP.ADD_PRINT_TEXT(53,187,75,20,"科学家"); LODOP.ADD_PRINT_TEXT(100,131,272,20,"地址:中国北京社会科学院附近东大街西胡同"); LODOP.ADD_PRINT_TEXT(138,132,166,20,"电话:010-88811888"); |
| 6、在发送以上指令前,一般要初始化并设置打印任务名: |
| LODOP.PRINT_INIT("打印插件功能演示_代码功能_名片"); |
| 初始化并指定打印任务名是"打印插件功能演示_代码功能_名片" |
利用Lodop实现将页面表格元素导出为excel:
- functionSaveAsFile(){
- //得到LODOP对象
- varLODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));
- LODOP.PRINT_INIT("");//初始化,因为不需要打印,所以不需要为其设置标题
- //增加打印表格,(距离头部距离、距离左边、宽度、高度),得到相应表格中的html元素
- LODOP.ADD_PRINT_TABLE(100,20,500,80,document.getElementById("content").innerHTML);
- //设置相应模式
- LODOP.SET_SAVE_MODE("Orientation",1);//Excel文件的页面设置:横向打印1-纵向,2-横向;
- LODOP.SET_SAVE_MODE("LINESTYLE",1);//导出后的Excel是否有边框
- LODOP.SET_SAVE_MODE("CAPTION","行安检修记录");//标题栏文本内容
- //LODOP.SET_SAVE_MODE("CENTERHEADER","行安检修记录");//页眉内容
- //LODOP.SET_SAVE_MODE("PaperSize",9);//Excel文件的页面设置:纸张大小9-对应A4
- //LODOP.SET_SAVE_MODE("Zoom",90);//Excel文件的页面设置:缩放比例
- //LODOP.SET_SAVE_MODE("CenterHorizontally",true);//Excel文件的页面设置:页面水平居中
- //LODOP.SET_SAVE_MODE("CenterVertically",true);//Excel文件的页面设置:页面垂直居中
- //LODOP.SET_SAVE_MODE("QUICK_SAVE",true);//快速生成(无表格样式,数据量较大时或许用到)
- //保存文件,以窗口弹出对话框的方式,让用户去选择文件保存的位置,参数为文件保存的默认名称
- LODOP.SAVE_TO_FILE("${datePlan.jcType}-${datePlan.jcnum}-${unitType}检修记录.xls");
- };
这里本人所列出来的两个demo只是本人在项目中所用的,对其综合应用了,其实它里面有很多方法可以供我们去操作,实现各种各样的功能,我们只需要设置其中的参数,给打印页面各个元素定好位置,距离头部距离、距离左边距离、垂直或者水平摆放、居左还是居中对齐等等,我们都可以在里面进行相应的设置,自己把各个元素定位好,我相信它肯定能实现我们打印时所想要的效果!!
俗话说,说一百遍看一万遍,不如自己来写一遍,大家尝试着去研究一下吧!!
https://blog.csdn.net/u014236541/article/details/50536616
lodop使用的更多相关文章
- asp.net Lodop实现批量打印
1.列表(前台) <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="w_stu ...
- asp.net lodop单个打印
1.首先在列表页面增加以下代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind=&quo ...
- 功能强大的web打印控件lodop的使用
打印是很多web系统都需要的功能,最近找到一款功能强大,使用简单,价格便宜的web打印工具Lodop,免费也能用,不过有水印,也不贵商业开发建议购买. 废话不多说,拿来就用,从简单的打印开始. 1.下 ...
- WEB打印控件Lodop
主页 http://www.lodop.net/
- Web打印--Lodop API
Lodop是一款专业的WEB打印控件,其设计目标是简单易用.功能足够强大,开创WEB打印开发的新局面. Lodop设计者对WEB下的打印开发任务进行了分类汇总,高度抽象,设计出仅用几个功能函数,就可实 ...
- [原创]Lodop打印, 以及Lodop引用css文件控制打印样式的问题.
最近在做Lodop打印功能: 思路是: 用MasterPage搭个打印页面的框架, 然后在具体的页面中填入数据, 打印的样式由母版页和CSS来控制. 困扰了一天的问题是: 在打印的JS文件中, 引 ...
- 定做属于自己的Lodop安装程序
WEB控件Lodop自发布以来,受到广大开发人员的喜爱,从如下博文分析看看: http://blog.sina.com.cn/s/blog_721e77e501011nyb.html 无论是好评率还是 ...
- chrome升级后LODOP打印插件无法使用
今天帮朋友使用LODOP实现一个套打程序时,发现LODOP打印插件在chrome下始终无法使用.分析后发现是自己才升级了chrome,chrome新版默认是禁用npapi的,因此需要手动启用一下,启用 ...
- lodop打印控件一点记录
今天初步接触了下打印控件 LODOP实现了自动分页,高度宽度都可以自己设定来分页. 页码,使用LODOP.SET_PRINT_STYLE("ItemType", 2); LODOP ...
- web 前端常用组件【04】Datetimepicker 和 Lodop
web项目中日期选择器和打印这两个功能是非常常见,将使用过的日期和打印控件,在这里总结归纳,为方便后面使用. 1.Datetimepicker a.官方API:http://www.bootcss.c ...
随机推荐
- HDU_Reward_拓扑排序
Reward Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- java_File对象
package File; import java.io.File; import java.io.IOException; public class file { public static voi ...
- 扩增子图表解读6韦恩图:比较组间共有和特有OTU或分类单元
韦恩图 Venn Diagram Venn Diagram,也称韦恩图.维恩图.文氏图,用于显示元素集合重叠区域的图示. 韦图绘制工具 常用R语言的VennDiagram包绘制,输出PDF格式方便 ...
- Oracle 【基 本 操 作】
1.日期时间 select SYSDATE from DUAl; select TO_CHAR(SYSDATE, 'YYYY-MM-DD') from DUAL; select TO_CHAR(SYS ...
- 《啊哈算法》中P81解救小哈
题目描述 首先我们用一个二维数组来存储这个迷宫,刚开始的时候,小哼处于迷宫的入口处(1,1),小哈在(p,q).其实这道题的的本质就在于找从(1,1)到(p,q)的最短路径. 此时摆在小哼面前的路有两 ...
- pandas - 案例(美国各州人口普查)
需求: 导入文件,查看原始数据 将人口数据和各州简称数据进行合并 将合并的数据中重复的abbreviation列进行删除 查看存在缺失数据的列 找到有哪些state/region使得state的值为N ...
- 【模板】树链剖分求LCA
洛谷3379 #include<cstdio> #include<algorithm> using namespace std; ,inf=1e9; int n,m,x,y,r ...
- nginx的安装部署以及使用
[介绍] nginx是现在互联上非常流行的高性能的 Web 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. 现在很多互联网应用都使用nginx来作为负载均衡的使用,再高并发 ...
- 【codeforces 514B】Han Solo and Lazer Gun
[题目链接]:http://codeforces.com/contest/514/problem/B [题意] 每次攻击可以把经过自己的一条直线上的所有点都毁掉; 然后给你n个目标物的坐标 问你最少要 ...
- 混合了RBAC和ACL的权限系统(一) -- 用户组织结构
最近的工作是一个基础设计,打造一个基于RBAC和ACL的权限基础组件. 这个基础组件的特点是:同时混合了RBAC和ACL的认证方式,也就是说同时提供系统级别的授权(RBAC)和对象级别的授权(ACL) ...