WEB打印控件Lodop技术手册
目 录
install_lodop32.exe 和 install_lodop64.exe 1
一、概述
Lodop是一款专业的WEB打印控件,其设计目标是简单易用、功能强大且短小精悍,开创WEB打印开发的新局面。
设计者对WEB下的打印需求进行了分类汇总,高度抽象,构思出仅用几个功能函数,就可实现复杂的打印任务,尽量避免由此引起的知识累赘。控件发布包有3个系统文件组成,主要功能用3个控件参数和2组功能函数来实现。
尽管Lodop有个理想化的目标,那就是不用详细了解这些参数或函数,仅仅看懂几个样例就能很轻松地开始使用,控件为此提供了一个足够完善的设计界面,用它可以实现大多数打印开发任务,但事实上深入了解这些参数和函数总是有好处的,特别是当您的开发任务很复杂时,这就是本文目的,但愿本文档足够详细且简单明了。
如果此前曾看过lodop发行包里的入门样例,本文会更容易理解。
二、系统文件
Lodop发布包内主要有如下三个安装文件:
- install_lodop32.exe
- install_lodop64.exe
- CLodopPrint_Setup_for_Win32NT.exe
前两个是打印控件安装文件,第三个是云打印服务安装文件。建议页面综合部署,即部分浏览器采用控件,另外浏览器采用云打印,该选择过程由LodopFuncs.js里的needCLodop();引导实现。C-Lodop云打印32位安装文件可以适用于32位或64位操作系统,更详细的安装使用请参考《云打印C-Lodop技术手册》。
下载地址:http://www.c-lodop.com/download.html
install_lodop32.exe 和 install_lodop64.exe
这俩文件是lodop控件安装和升级的主程序文件,其中install_lodop32.exe适用于32位浏览器,install_lodop64.exe适用于64位浏览器,提供给用户或开发者下载安装,如果不特意拦截一般都能100%安装,对“网页插件安装难”有彻底改善。如果将其复制或改名为uninstall_lodop32.exe (或uninstall_lodop64.exe)就可用来卸载控件。
Lodop安装后,在操作系统Program Files\MountTaiSoftware\Lodop目录下会生成两个实体文件:CAOSOFT_WEB_PRINT_LODOP.OCX和NPCAOSOFT_WEB_PRINT_LODOP.DLL
前一个是标准OCX文件,它是Lodop的功能核心,后者是一个NPPlugin文件,其作用是实现多浏览器支持。目前Lodop支持IE系列、IE内核系列(遨游、360、世界之窗、腾讯TT、搜狗等)浏览器,以及Firefox(火狐)系列、Chrome(谷歌)系列、Opera系列、Safari系列等Windows下几乎所有的浏览器,通过云打印。
安装程序文件有几个预定参数:
–waitXX该参数设置安装程序运行完毕后自动关闭窗口,这里的XX表示关闭前等待的秒数,如果是0秒则安装(或卸载)成功后立即关闭,例如: –wait8
-nowindow 该参数设置安装程序运行时不出现界面窗口(所谓的静默安装)。
-un 该参数使程序执行卸载操作,优先于文件名。
-in 该参数使程序执行安装操作,优先于文件名。
安装界面如下:
LodopFuncs.js
该文件是用来引导安装控件的一个JS文件,是个样例,但建议直接采用。其中getLodop的任务是判断当前浏览器的类型并决定采用哪个对象实例,并检测控件是否安装、是否最新版本、并引导安装或升级,加入了兼容C-Lodop云打印的检测信息。文件主要内容如下:
//===判断是否需要安装CLodop云打印服务器(针对不支持np插件的浏览器)=== function needCLodop(){ try{ var ua=navigator.userAgent; if (ua.match(/Windows\sPhone/i) !=null) return true; if (ua.match(/iPhone|iPod/i) != null) return true; if (ua.match(/Android/i) != null) return true; if (ua.match(/Edge\D?\d+/i) != null) return true; if (ua.match(/QQBrowser/i) != null) return false; var verTrident=ua.match(/Trident\D?\d+/i); var verIE=ua.match(/MSIE\D?\d+/i); var verOPR=ua.match(/OPR\D?\d+/i); var verFF=ua.match(/Firefox\D?\d+/i); var x64=ua.match(/x64/i); if ((verTrident==null)&&(verIE==null)&&(x64!==null)) return true; else if ( verFF !== null) { verFF = verFF[0].match(/\d+/); if ( verFF[0] >= 42 ) return true; } else if ( verOPR !== null) { verOPR = verOPR[0].match(/\d+/); if ( verOPR[0] >= 32 ) return true; } else if ((verTrident==null)&&(verIE==null)) { var verChrome=ua.match(/Chrome\D?\d+/i); if ( verChrome !== null ) { verChrome = verChrome[0].match(/\d+/); if (verChrome[0]>=42) return true; }; }; return false; } catch(err) {return true;}; }; … //====获取LODOP对象的主过程:==== function getLodop(oOBJECT,oEMBED){ … var LODOP; try{ … if (LODOP.VERSION<“6.2.0.3”) { if (needCLodop()) document.documentElement.innerHTML=strCLodopUpdate+document.documentElement.innerHTML; else if (is64IE) document.write(strHtm64_Update); else if (isIE) document.write(strHtmUpdate); else document.documentElement.innerHTML=strHtmUpdate+document.documentElement.innerHTML; return LODOP; }; //===如下空白位置适合调用统一功能(如注册语句、语言选择等):===
//=========================================================== return LODOP; } catch(err) {alert(“getLodop出错:”+err);}; }; |
其中的关键点是VERSION函数,Lodop提供了这个“读版本号”功能,这样控件的安装和升级任务就交给JS来实现,以下是控件在页面内的调用代码,其中包含getLodop的使用:
<head> <title></title> <script language=”javascript” src=”LodopFuncs.js”></script> <object id=”LODOP_OB” classid=”clsid:2105C259-1E0C-4534-8141-A753534CB4CA” width=0 height=0> <embed id=”LODOP_EM” type=”application/x-print-lodop” width=0 height=0></embed> </object> </head> <body> <script language=”javascript”> var LODOP=getLodop(document.getElementById(‘LODOP_OB‘),document.getElementById(‘LODOP_EM’)); </script> … </body> |
以上两段代码相互配合实现了Lodop的安装、调用和升级。之所以将LodopFuncs.js作为一个资源文件来部署,既可以利用浏览器的缓存减少页面内容的重复下载,同时还实现了控件发布统一管理,整个应用系统中只要这一个地方发布Lodop。其它页面直接拷贝嵌入第2段代码就可以了。
三、控件参数
Lodop有如下控件参数,以页面object对象元素的参数形式使用:
Caption
名称:设置控件的显示标题 格式:<param name=”Caption” value=”我是打印控件lodop“> 功能: 控件在页面内一般是以object元素形式被引用。可以通过设置元素的width和height等于0来隐藏控件,不隐藏时可以为控件设置一个标题,以便于看到控件是否被正确安装,以及控件对象在页面内的位置。希望打印预览界面或设计界面内嵌到网页内时,本参数很有用。 |
Color
名称:设置控件的显示区域颜色 格式:<param name=”Color” value=”#C0C0C0″> 功能:通过该参数设置控件显示区域的底色,对于希望打印预览界面或设计界面内嵌到网页内时,本参数可以让控件容易融于整体页面。 参数值采用超文本颜色形式,可以是三色16进制值组合,也可以是英文颜色名。 |
Border
名称:设置控件的显示区域边界 格式:<param name=”Border” value=”1“> 功能:通过该参数设置控件显示区域的边界,值等于1表示有边界,否则无边界。本参数可以让控件更融于整体页面。 |
四、功能函数
Lodop的功能函数不多,但参数比较复杂。全部函数分“基本函数”和“扩展函数”两类,两类函数有类似性,基本函数使用简单,达不到要求时请使用扩展函数,二者无本质区别。
1、基本函数
VERSION
名称:获得软件版本号 格式:VERSION 结果:返回字符型结果 版本号有四个数字组成,样式为:X.X.X.X 举例:var strVersion=LODOP.VERSION; |
PRINT_INIT
名称:打印初始化 格式:PRINT_INIT(strTaskName) 功能:初始化运行环境,清理异常打印遗留的系统资源,设定打印任务名。 参数: strTaskName: 打印任务名,字符型参数,由开发者自主设定,未限制长度,字符要求符合Windows文件起名规则,Lodop会根据该名记忆相关的打印设置、打印维护信息。 若strTaskName空,控件则不保存本地化信息,打印全部由页面程序控制。 结果:返回逻辑值 返回逻辑真表示初始化成功,逻辑假表示初始化失败,失败原因有:前一个打印事务没有完成;操作系统没有添加打印机(驱动)等。 建议或要求: 该函数与PRINT_INITA都有初始化功能,每个打印事务至少初始化一次,建议打印程序首先调用该函数。任务名要尽量区别于其它打印任务,譬如用“XX单位_XX管理信息系统_XX子系统_XX模块_XX打印作业”字样。 不希望最终用户更改打印布局时,则设strTaskName空。 举例:LODOP.PRINT_INIT(“打印控件功能演示_Lodop功能_表单一”); LODOP.PRINT_INIT(“”); |
SET_PRINT_PAGESIZE
名称:设定纸张大小 格式:SET_PRINT_PAGESIZE(intOrient, PageWidth,PageHeight,strPageName) 功能:设定打印纸张为固定纸张或自适应内容高,并设定相关大小值或纸张名及打印方向。 参数: intOrient: 打印方向及纸张类型,数字型, 1—纵(正)向打印,固定纸张; PageWidth: 设定自定义纸张宽度,整数或字符型,整数时缺省长度单位为0.1mm, 譬如该参数值为45,则表示4.5毫米。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅),如“10mm”表示10毫米。数值等于0时本参数无效。 PageHeight: 固定纸张时设定纸张高;高度自适应时设定纸张底边的空白高。整数或字符型,整数时缺省长度单位为0.1毫米。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅),如“10mm”表示10毫米。数值等于0时本参数无效。 宽或高无效时下面的strPageName才起作用。 strPageName: 所选纸张类型名,字符型。不同打印机所支持的纸张可能不一样,这里的名称同操作系统内打印机属性中的纸张名称,支持操作系统内的自定义纸张。 关键字“CreateCustomPage”会按以上宽度和高度自动建立一个自定义纸张,所建立的纸张名固定为“LodopCustomPage”,多次建立则刷新该纸张的大小值。 注:PageWidth、PageHeight 和strPageName都无效时,本函数对纸张大小不起作用,控件则采用所选打印机的默认纸张,但intOrient仍可起作用。 实际打印时,控件按如下优先级顺序确定纸张大小: 第1优先是打印维护里纸张属性(“本机自行定义纸张”)设置的纸张大小。 第2优先是SET_PRINT_PAGESIZE指定的纸张大小; 第3优先是上次打印时在预览界面设置里选择的纸张类型; 第4是按所选打印机的默认纸张; 结果:无 建议或要求: 打印初始化之后调用。 如果打印纸张不固定,希望由操作者自主选择纸张时,则不要调用本函数。 举例一:LODOP.SET_PRINT_PAGESIZE(1,2100,2970,””); 设置纸张大小为:宽210mm*高297mm,纵向打印 举例二:LODOP.SET_PRINT_PAGESIZE(2, 0, 0,”A4″); 设置纸张为A4(按操作系统定义的A4尺寸),横向打印 |
ADD_PRINT_HTM
名称:增加超文本打印项(普通模式) 格式:ADD_PRINT_HTM(Top,Left,Width,Height,strHtmlContent) 功能:增加超文本打印项,设定该打印项在纸张内的位置和区域大小,实现超文本控制打印。 参数: Top: 打印项在纸张内的上边距,也就是在每张纸的上下起点位置,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅)、px(1/96英寸)、%(百分比),如“10mm”表示10毫米。 Left: 打印项在纸张内的左边距,也就是在每张纸的左右起点位置,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅)、px(1/96英寸) 、%(百分比),如“10mm”表示10毫米。 Width: 打印区域的宽度,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅)、px(1/96英寸) 、%(百分比),如“10mm”表示10毫米。本参数可以用RightMargin关键字转义为打印区域相对于纸张的“右边距”。 Height: 打印区域的高度,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅)、px(1/96英寸) 、%(百分比),如“10mm”表示10毫米,当内容的高度超出本参数值时,控件会自动分页,后面的内容在下一页对应位置输出。本参数可以用BottomMargin关键字转义为打印区域相对于纸张的“下边距”。 strHtmlContent: 超文本代码内容,字符型,未限制长度。可以是一个完整的页面超文本代码,或者是一个代码段落,也可以是URL:web地址形式的URL地址。 Lodop专有样式和属性有: ●代码中若包含style=”page-break-after:always”或style=”page-break-before:always”,该元素称为“强制分页元素”,控件会在该元素处分页。 ●代码中的标签IMG如果有transcolor属性,则可以实现透明打印图片。例如属性格式为:transcolor=”#FFFFFF” 表示用白色作为透明底色,这里的颜色值可以是“#”加三色16进制值组合,也可以是英文颜色名。这个专有属性再配合IMG的position: absolute可以实现“先字后章”的公章打印效果。 ●代码中的元素如果包含borderthin属性,如果属性值等于true,则该元素的border在合并单元格时会采用单细线模式。 结果:无 建议或要求: 要求在打印初始化后使用,建议在画线类函数之后调用。注意“强制分页元素”要符合xhtml规范,建议用跨整行的元素,内容不能空,内容可以是“ ”。强制分页符对其它Lodop函数无效,仅适用本函数。 举例一:LODOP.ADD_PRINT_HTM(0,0, 300,100,”<hr><font size=5>hello </font>”); 举例二:LODOP.ADD_PRINT_HTM(“10%”,0, “100%”,”80%”,”URL:http://www.baidu.com”); 举例三:LODOP.ADD_PRINT_HTM(“5mm”,34,”RightMargin:0.9cm”,”BottomMargin:9mm”, document.documentElement.innerHTML); |
ADD_PRINT_TABLE
名称:增加表格打印项(超文本模式) 格式:ADD_PRINT_TABLE(Top,Left,Width,Height,strHtml) 功能:用超文本增加一个表格打印项,设定该表格在每个纸张内的位置和区域大小。打印时只输出首个页面元素table的显示内容,当table内包含thead或tfoot时,一旦表格被分页,则每个打印页都输出表头(thead)或表尾(tfoot)。 参数: Top: 表格数据头(页头thead)在纸张内的上边距,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅)、px(1/96英寸) 、%(百分比),如“10mm”表示10毫米。 Left: 表格数据头(页头thead)在纸张内的左边距,整数或字符型,字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅)、px(1/96英寸) 、%(百分比),如“10mm”表示10毫米。 Width: 打印区域的宽度,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅)、px(1/96英寸) 、%(百分比),如“10mm”表示10毫米。本参数可以用RightMargin关键字转义为打印区域相对于纸张的“右边距”。 Height: 表格数据体(tbody)区域的高度,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅)、px(1/96英寸) 、%(百分比),如“10mm”表示10毫米。当内容的高度超出本参数值时,控件会自动分页,后面的内容在下一页对应位置输出,每页至少打印一个TR行(由于table可以嵌套多层子table,这里的TR行是指首层TR)。本参数可以用BottomMargin关键字转义为打印区域相对于纸张的“下边距”。 strHtml: 超文本代码内容,字符型,未限制长度。可以是一个完整的页面超文本代码,或者是一个代码段落,也可以是URL:web地址形式的URL地址。要求实际内容中至少包含一个table元素。
结果:无 建议或要求: 要求在打印初始化后调用,建议在画线类函数之后调用。 举例一:LODOP.ADD_PRINT_TABLE(10,10,300,100,”<table border=’1’><tr><td>11</td> <td>12</td></tr><tr> <td>21</td> <td>22</td></tr></table>”); 举例二: LODOP.ADD_PRINT_TABLE(0,0, “100%”,”100%”,”URL: http://www.x.com/table.htm”); |
ADD_PRINT_URL
ADD_PRINT_TEXT
ADD_PRINT_IMAGE
ADD_PRINT_RECT
ADD_PRINT_ELLIPSE
ADD_PRINT_LINE
ADD_PRINT_BARCODE
ADD_PRINT_CHART
ADD_PRINT_DATA
名称:装载文档式模板 格式: ADD_PRINT_ DATA (strDataStyle, varDataValue) 功能:直接装载文档式模板。 Lodop传统模板可以称为“JS语句组式模板”, 传统模板需要JS的eval方法来装载,“文档式模板”不再依赖该方法,直接用Lodop的语句ADD_PRINT_DATA就可装载复用 参数: strDataStyle: 字符型,如下是类型名及其含义: ProgramData—-加载文档式模板关键字。 varDataValue: 文档式模板内容。文档式模板内容是特殊格式的BASE64字符,符合该编码集范畴,容易保存和网络传递 结果:无 建议或要求: 要求在初始化之后,打印或预览之前调用。 文档式模板使用相关语句信息:
GET_VALUE (ValueType, ValueIndex); ValueType:获得文档式模板关键字是“ProgramData”; (详细解释参考基本函数GET_VALUE)
SET_PRINT_STYLEA(varItemNameID, strStyleName,varStyleValue); 举例:LODOP.ADD_PRINT_ DATA (ProgramData,” @J0yHEH1QG1IBIS0APy …… GHIBES0APt==“);// (省略…..).
|
SET_PRINT_STYLE
名称:设置打印项风格 格式: SET_PRINT_STYLE(strStyleName,varStyleValue) 功能:设置打印项的输出风格,成功执行该函数,此后再增加的打印项按此风格输出。 strStyleName:打印风格名,风格名称及其含义如下: “FontName”: 设定纯文本打印项的字体名称。 “FontSize”: 设定纯文本打印项的字体大小。 “FontColor”: 设定纯文本打印项的字体颜色。 “Bold”: 设定纯文本打印项是否粗体。 “Italic”: 设定纯文本打印项是否斜体。 “Underline”: 设定纯文本打印项是否下滑线。 “Alignment”: 设定纯文本打印项的内容左右靠齐方式。 “Angle”: 设定纯文本打印项的旋转角度。 “ItemType”:设定打印项的基本属性。 “HOrient”:设定打印项在纸张范围内的水平方向的位置锁定方式。 “VOrient”:设定打印项在纸张范围内的垂直方向的位置锁定方式。 “PenWidth”:线条宽度。 “PenStyle”:线条风格。 “Stretch”:图片截取缩放模式。 “PreviewOnly”:内容仅仅用来预览。 “ReadOnly”:纯文本内容在打印维护时,是否禁止修改。 varStyleValue:打印风格值,相关值如下: FontName的值: 字符型,与操作系统字体名一致,缺省是“宋体”。
FontSize的值:数值型,单位是pt,缺省值是9,可以含小数,如13.5。
FontColor的值:整数或字符型,整数时是颜色的十进制RGB值;字符时是超文本颜色值,可以是“#”加三色16进制值组合,也可以是英文颜色名;
Bold的值:数字型,1代表粗体,0代表非粗体,缺省值是0。
Italic的值:数字型,1代表斜体,0代表非斜体,缺省值是0。
Underline的值:数字型,1代表有下划线,0代表无下划线,缺省值是0。
Alignment的值:数字型,1–左靠齐 2–居中 3–右靠齐,缺省值是1。
Angle的值:数字型,逆时针旋转角度数,单位是度,0度表示不旋转,旋转时以对象的左上角为原点。
ItemType的值:数字型,0–普通项 1–页眉页脚 2–页号项 3–页数项 4–多页项 缺省(不调用本函数时)值0。普通项只打印一次;页眉页脚项则每页都在固定位置重复打印;页号项和页数项是特殊的页眉页脚项,其内容包含当前页号和全部页数;多页项每页都打印,直到把内容打印完毕,打印时在每页上的位置和区域大小固定一样(多页项只对纯文本有效) 在页号或页数对象的文本中,有两个特殊控制字符: “#”特指“页号”,“&”特指“页数”。 HOrient的值:数字型,0–左边距锁定 1–右边距锁定 2–水平方向居中 3–左边距和右边距同时锁定(中间拉伸),缺省值是0。
VOrient的值:数字型,0–上边距锁定 1–下边距锁定 2–垂直方向居中 3–上边距和下边距同时锁定(中间拉伸),缺省值是0。
PenWidth的值:整数型,单位是(打印)像素,缺省值是1,非实线的线条宽也是0。
PenStyle的值:数字型,0–实线 1–破折线 2–点线 3–点划线 4–双点划线 缺省值是0。 Stretch的值:数字型,0–截取图片 1–扩展(可变形)缩放 2–按原图长和宽比例(不变形)缩放。缺省值是0。 PreviewOnly的值:字符或数字型,1或true代表仅预览,否则为正常内容。 ReadOnly的值:字符或数字型,1或true 代表“是”,其它表示“否”,缺省值为“是”,即缺省情况下,纯文本内容在打印维护时是禁止修改的。 建议或要求: 打印初始化后、增加打印项之前调用本函数。 举例:LODOP.SET_PRINT_STYLE(“FontSize”,11); |
PREVIEW
名称:打印预览 格式:PREVIEW() 功能:打印预览输出页。 参数:无 结果:显示打印预览界面。如果预览界面没有被嵌入页面中,而是被弹出窗口,那么关闭窗口时会返回数字结果值,该数字大于0时表示被实际打印的次数。 建议或要求: 建立打印页之后运行。 举例:LODOP.PREVIEW(); |
名称:直接打印 格式:PRINT() 功能:不经打印预览的直接打印。 参数:无 结果:打印机开始实际打印,返回逻辑结果,正确打印时返回真,打印出错时返回假。 建议或要求: 建立打印页之后运行。 举例:LODOP.PRINT(); |
PRINT_SETUP
名称:打印维护 格式:PRINT_SETUP() 功能:对整页的打印布局和打印风格进行界面维护,它与打印设计的区别是不具有打印项增删功能,目标使用者是最终用户。 参数:无 结果:显示打印维护界面。如界界面没有被嵌入页面中,而是被弹出窗口,那么关闭窗口时会返回数字结果值,该数字大于0时表示被实际打印的次数,这里的实打次数包括打印维护界面“打印”按钮的直接打印和“预览”按钮进入预览后的打印。 建议或要求: 建立打印页之后运行。 举例:LODOP.PRINT_SETUP(); |
PRINT_DESIGN
名称:打印设计 格式:PRINT_DESIGN () 功能:对整页的打印布局和打印风格进行界面设计,它与打印维护的区别是具有打印项增删功能,目标使用者是软件开发者。 参数:无 结果:显示打印设计界面,设计完毕关闭窗口后,返回生成的程序代码。 建议或要求: 建立打印页之后运行。 举例:LODOP.PRINT_DESIGN(); |
NEWPAGE
名称:强制分页 格式:NEWPAGE() 功能:强制分页。执行该函数之后所增加的内容会在前面内容的首页之后新建一页输出,前面无内容时,仍然从第一页开始。 参数:无 结果:返回逻辑值 返回逻辑真表示强制分页成功,逻辑假表示强制分页失败。 建议或要求: 打印初始化后调用本函数。 举例:LODOP.NEWPAGE(); |
GET_PRINTER_COUNT
名称:获得打印设备个数 格式:GET_PRINTER_COUNT() 功能:获得操作系统内打印设备的个数。 参数:无 结果:返回数字 返回数字结果表示操作系统内的打印设备个数,0表示失败或无打印设备。 建议或要求: 任何时间调用均可。 举例:var iCount=LODOP.GET_PRINTER_COUNT(); |
GET_PRINTER_NAME
名称:获得打印设备名称 格式:GET_PRINTER_NAME(strPrinterIDandType) 功能:按设备序号获得打印机名称、驱动名称等。 参数: strPrinterIDandType: 由“设备序号:名称类型”组成,字符型或数字型参数,数字型(名称类型空)时专取打印机名称,序号从0开始,最大序号是GET_PRINTER_COUNT()减1。名称类型如下: PrinterName:打印机名称 DriverName:驱动名称 PortName:端口名称 Orientation:打印方向 PaperSize:纸张大小(编号) PaperLength:纸张长度,单位是0.1mm PaperWidth:纸张宽度,单位是0.1mm Copies:打印份数 DefaultSource:纸张来源 PrintQuality:打印质量(打印机分辨率),单位是dpi Color:是否彩色 Duplex:是否双面 FormName:表单名称,如“A4”等 Comment:注释说明 DriverVersion:驱动程序版本号 DCOrientation:获取横向打印的旋转度数是90度还是270度 MaxExtentWidth:获取打印机能支持的最大纸张规格宽度 MaxExtentLength:获取打印机能支持的最大纸张规格高度 MinExtentWidth:获取打印机能支持的最小纸张规格宽度 MinExtentlength:获取打印机能支持的最小纸张规格高度 结果:返回字符 返回字符型结果,代表对应的名称或属性值,如返回空表示失败或无该设备。 建议或要求: 任何时间调用均可。 举例一:var strPName=LODOP.GET_PRINTER_NAME(0); 获取0号设备的打印机名称。 举例二:var strDName =LODOP.GET_PRINTER_NAME(“1:DriverName”); 获取1号设备的驱动名称。 举例三:var strKName =LODOP.GET_PRINTER_NAME(“1:PortName”); 获取1号设备的端口名称 |
SET_PRINTER_INDEX
名称:指定打印设备 格式:SET_PRINTER_INDEX(oIndexOrName) 功能:按名称或序号指定要进行打印输出的设备,指定后禁止重新选择。。 参数: oIndexOrName: 打印机名称或序号,字符或数字型。数字表示打印机的序号,从0开始,最大序号是GET_PRINTER_COUNT()减1。-1特指操作系统内设定的默认打印机。 字符代表打印机的名称,与操作系统内的打印机名称一致。 注:用本函数指定打印机后,在预览界面不允许重新选择打印机,而用另外一个函数SET_PRINTER_INDEXA指定后则允许重新选择。 结果:返回逻辑值 返回逻辑真表示指定成功,逻辑假表示指定失败,失败原因有:该打印设备不存在。 建议或要求: 要求在初始化之后、打印或预览之前调用。 举例一: LODOP.SET_PRINTER_INDEX(0); 举例二: LODOP.SET_PRINTER_INDEX(-1); |
SELECT_PRINTER
名称:选择打印设备 格式:SELECT_PRINTER 功能:弹出界面选定某打印设备为目标输出设备。 参数:无 结果:返回数字 返回数字结果表示选定的设备序号,返回-1表示放弃选择,没有任何动作。 建议或要求: 直接打印前或打印预览前调用。本函数与SET_PRINTER_INDEX的功能效果一样。 举例:LODOP.SELECT_PRINTER(); |
SET_SHOW_MODE
SET_PRINT_MODE
名称:设置打印模式 格式: 功能:设置人工双面打印模式等。 参数: strModeType模式类型名,字符型,如下是类型名及其含义: “DOUBLE_SIDED_PRINT”:设置是否人工双面打印。 “PRINT_START_PAGE”:指定要打印的起始页。 “PRINT_END_PAGE”:指定要打印的截止页。 “PRINT_PAGE_PERCENT”:指定整页缩放打印的比例。 “AUTO_CLOSE_PREWINDOW”:设置打印完毕是否自动关闭预览窗口。 “PRINT_SETUP_PROGRAM”:设置打印维护窗口关闭后是否返回程序代码。 “NOCLEAR_AFTER_PRINT”:设置打印或预览后内容不清空是否为真。 “CATCH_PRINT_STATUS”:设置是否进行对后台服务的打印状态进行捕获。 “POS_BASEON_PAPER”:设置输出位置以纸张边缘为基点。 “CUSTOM_TASK_NAME”:设置本次输出的打印任务名(打印任务池里的“文档名”)。 “PROGRAM_VARNAME”:重新指定生成程序代码时的变量ID名。 “PROGRAM_ROOTDIR”:重新指定客户端本地数据的工作目录。 “WINDOW_DEFPRINTER”:设置windows默认打印机。 “WINDOW_DEFPAGESIZE:打印机名或序号”:设置windows中某打印机的默认纸张。 “RESELECT_PRINTER”:设置是否可以重新选择打印机。 “RESELECT_PAGESIZE”:设置是否可以重新选择纸张。 “RESELECT_ORIENT”:设置是否可以重新选择打印方向。 “RESELECT_COPIES”:设置是否可以重新选择打印份数。 “CONTROL_PRINTER:打印机名或序号”:控制打印暂停、恢复打印、清理打印任务。 “TEXT_ONLY_MODE”:设置是否用“纯文本行模式”(后面有说明)快速打印。 “TRYLINKPRINTER_NOALERT”:设置网络共享打印机不畅通时是否阻止弹窗提示。 “PROGRAM_CONTENT_BYVAR”:设置生成程序时内容是用变量名代替。 “CREATE_CUSTOM_PAGE_NAME”:设置动态生成的纸张(表单)名称。 “SEND_RAW_DATA_ENCODE”:设置SEND_PRINT_RAWDATA语句的数据编码集。 “FULL_WIDTH_FOR_OVERFLOW”:设置宽度方向上的内容溢出自动缩小。 “FULL_HEIGHT_FOR_OVERFLOW”:设置高度方向上的内容溢出自动缩小。 “PRINT_DUPLEX”:控制打印机自带的双面打印功能(非手工双面)。 “PRINT_DEFAULTSOURCE”:控制打印机的纸张来源(自动、纸盒、手动等)。 “PRINT_TO_CODES”:设置是否获得打印机原始指令,当PRINT_TO_COPES等于true时,PRINT和PRINTA语句不再把打印任务输出到真实打印机,而是输出为指令字符串(打印机的原始指令)。 “PRINT_NOCOLLATE”:设置非逐份打印,(打印机默认逐份打印,例如3页打印2份, 1-2-3,1-2-3输出,非逐份输出:1-1 2-2 3-3 输出)。
varModeValue模式类型值,整数或字符型,相关值如下: DOUBLE_SIDED_PRINT的值:逻辑型、整数型或字符型,1或true=是,其它值为否。 PRINT_START_PAGE的值:整数,不设置本参数时,控件默认从1开始打印。适用打印部分页时。 PRINT_END_PAGE的值:整数,不设置本参数时,控件默认打印到最后页。适用打印部分页时。 PRINT_PAGE_PERCENT的值:字符型,具体值有如下几种: “Full-Width” –宽度按纸张的整宽缩放; “Full-Height”–高度按纸张的整高缩放: “Full-Page” –按整页缩放,也就是既按整宽又按整高缩放; 此外还可以按具体百分比例,格式为“Width:XX%;Height:XX%”或“XX%” 比值范围是5%-800%,也就是最大缩小到原来的5%,最大放大8倍。 AUTO_CLOSE_PREWINDOW的值:逻辑型、整数型或字符型,1或true=是,其它值为否。 PRINT_SETUP_PROGRAM的值:逻辑型、整数型或字符型,1或true =是,其它值为否,打印维护窗口关闭后如果不返回程序代码,则返回打印按钮被点击的次数。 NOCLEAR_AFTER_PRINT的值:逻辑型、整数型或字符型,1或true=是,其它值为否,默认值是“否”,也就是说,默认情况下打印或预览后会清空所有内容。 CATCH_PRINT_STATUS的值逻辑型、整数型或字符型,1或true=是,其它值为否,默认值是“否”,也就是说,默认情况下打印时不对打印状态进行捕获,该捕获动作会针对每个打印机开启一个监控线程,对页面性能有少许影响,开启后用GET_VALUE获得状态值。 POS_BASEON_PAPER的值:逻辑型、整数型或字符型,1或true=是,其它值为否。默认值是“否”,也就是默认不以纸张边缘为基点,而以可打印区域的边缘为基点。 CUSTOM_TASK_NAME的值:字符型,可以是汉字,未限制长度,本设置比PRINT_INIT或PRINT_INITA函数设置的打印任务名优先级高,如此以来可以实现在同一套配置文件下起多个打印任务名,以利于按打印任务名管理的输出。 PROGRAM_VARNAME的值:字符型,仅支持字母,不能带各种符号,不执行本设置时的默认ID名是“LODOP” 。 PROGRAM_ROOTDIR的值:字符型,指定的工作目录首字母可以是盘符(如C:),不带盘符时,则在“系统盘:\Program Files”下建立子目录,这里特别注意与其它软件的路径区别。不执行本设置时的默认路径:系统盘:\Program Files\MountTaiSoftware\Lodop,注意要求高级注册,位置在初始化语句后。 WINDOW_DEFPRINTER的值:整数或字符型,整数时指明某打印机的序号,字符时指明某打印机的名称,这个参数把指明的打印机设定为windows系统默认打印机。设置成功时返回字符“ok”,失败时返回错误描述。 WINDOW_DEFPAGESIZE的值:字符型,纸张名称,windows系统必须包含该纸张,可以是后来自定义的纸张。本设置把该纸张设置为对应打印机的默认纸张,设置成功返回字符“ok”,否则返回错误描述。 RESELECT_PRINTER的值:逻辑型、整数型或字符型,1或true=是,其它值为否。当用set_printer_index语句选定打印机后,默认情况下是禁止再重选的,用这项设置可以改变这个禁止规定。 RESELECT_PAGESIZE的值:逻辑型、整数型或字符型,1或true=是,其它值为否。当用set_print_pagesize语句选定纸张大小后,默认情况下是禁止再重选的,用这项设置可以改变这个禁止规定。 RESELECT_ORIENT的值:逻辑型、整数型或字符型,1或true=是,其它值为否,默认值是“否”。当用set_print_pagesize语句选定打印方向后,默认情况下是禁止再重选的,用这项设置可以改变这个禁止规定。 RESELECT_COPIES的值:逻辑型、整数型或字符型,1或true=是,其它值为否,默认值是“否”。当用set_print_copies语句选定打印份数后,默认情况下是禁止再重选的,用这项设置可以改变这个禁止规定。 CONTROL_PRINTER:的值:有三个固定字符值: “PAUSE”—控制打印机暂停打印; “RESUME” —控制已经暂停的打印机恢复打印; “PURGE” —清理打印机的所有打印任务 TEXT_ONLY_MODE的值:逻辑型、整数型或字符型,1或true=是,其它值为否,默认值为“否”,这种模式仅适合部分老款的非图形打印机,只打印文本部分,速度快,图形内容被忽略,请慎用。 TRYLINKPRINTER_NOALERT的值:逻辑型、整数型或字符型,1或true=是,其它值为否。“是”表示阻止,“否”表示不阻止,默认值是“否”,也就是说默认会弹窗提示。 PROGRAM_CONTENT_BYVAR的值:逻辑型、整数型或字符型,1或true=是,其它值为否,默认值是“否”,也就是默认生成程序时内容是用具体值(注意在打印设计界面里用菜单生成程序代码时该内容用描述文字而不是具体值)而不是变量名。 CREATE_CUSTOM_PAGE_NAME 的值:字符型,用来设置新建立的自定义纸张或表单的名称,要求符合window纸张类型的起名规范,不进行这个设置时的默认值是“LodopCustomPage”。 SEND_RAW_DATA_ENCODE的值:字符型,用来设置SEND_PRINT_RAWDATA语句的数据编码字符集,也就是让控件以什么编码形式发给打印机,有如下选项: UTF-8 UTF-7 UNICODE ANSI UTF-16 UTF-16BE GBK BIG5 EUC-JP FULL_WIDTH_FOR_OVERFLOW的值:逻辑型、整数型或字符型,1或true=是,其它值为否。 FULL_HEIGHT_FOR_OVERFLOW的值:逻辑型、整数型或字符型,1或true=是,其它值为否。 PRINT_DUPLEX的值:数字,0-不控制 1-不双面 2-双面(长边装订) 3-小册子双面(短边装订_长边水平)。 PRINT_DEFAULTSOURCE的值:数字,1-纸盒 4-手动 7-自动 0-不控制。 PRINT_TO_CODES的值:逻辑型、整数型或字符型,1或true=是,其它值为否。 PRINT_NOCOLLATE的值:逻辑型、整数型或字符型,1或true=是,其它值为否。
结果:返回结果,成功时返回真或字符“ok”,失败时返回假或错误描述。 建议或要求: 直接打印前或打印预览前调用。 举例一:LODOP.SET_PRINT_MODE(“POS_BASEON_PAPER”,true); 举例二:LODOP.SET_PRINT_MODE(“CATCH_PRINT_STATUS”,true); 举例三:LODOP.SET_PRINT_MODE(“CONTROL_PRINTER:1“, “PAUSE”); 控制1号打印机暂停。 举例四:LODOP.SET_PRINT_MODE(“WINDOW_DEFPAGESIZE:0“, “A4“); 把window操作系统中0号打印机的默认纸张设为A4。 举例五:LODOP.SET_PRINT_MODE(“PRINT_NOCOLLATE”,true); |
SET_PRINT_COPIES
名称:设置打印份数 格式:SET_PRINT_COPIES(intCopies); 功能:设置本次打印的份数。 参数: 结果:返回逻辑结果,成功时返回真,失败时返回假。 建议或要求: 直接打印前或打印预览前调用。 举例:LODOP.SET_PRINT_COPIES(2); |
SET_PREVIEW_WINDOW
名称:设置预览窗口 格式: 功能:设置预览窗口的显示模式和大小。 参数: intDispMode 预览比例,数字型,0–适高1––正常大小2–适宽。 blDirectPrint打印按钮是否“直接打印” 1-是 0-否(弹出界面“选机打印”) inWidth 窗口宽,整数型,单位是px intHeight 窗口高,整数型,单位是px 当inWidth 或intHeight 小于等于0时窗口最大化。 strTitleButtonCaptoin 预览窗口和打印按钮的名称组合,字符型,用“点”分隔,譬如“预览查看.开始打印”,表示预览窗口的标题是“预览查看”,按钮名是“开始打印”。 建议或要求: 直接打印前或打印预览前调用。 举例:LODOP.SET_PREVIEW_WINDOW(0,1,1,760,540,”自定义标题.开始打印“); 设置预览窗口大小为760*540px,显示按钮,选机打印,适高,重设窗口标题。 |
ADD_PRINT_SETUP_BKIMG
名称:指定背景图 格式:ADD_PRINT_SETUP_BKIMG(strImgHtml) 功能:用程序方式指定打印维护或打印设计的背景图。 参数: strImgHtml: 本参数是字符型,有两种情况:一是超文本代码内容;二是本地文件名内容。第一种情况一般是用IMG标签组成的超文本代码段落。第二种情况是本地文件名全路径,格式如“C:/test.jpg”,图片文件可以是jpg、jpeg、bmp、gif、ico、png、emf等格式。 结果:无 建议或要求: 初始化之后调用。 举例:LODOP.ADD_PRINT_SETUP_BKIMG(“<img border=’0′ src=’http://www.x.com/a.jpg‘>”); |
SEND_PRINT_RAWDATA
名称:发送原始数据 格式:SEND_PRINT_RAWDATA(strRawData) 功能:向打印机发送原始数据或指令。 参数: 结果:返回逻辑结果,发送成功时返回真,发送失败时返回假。 建议或要求: 任何时间调用。 举例:LODOP.SEND_PRINT_RAWDATA(“&l1O Hello world! “); |
WRITE_PORT_DATA
名称:写端口数据 格式:WRITE_PORT_DATA(strPortName,strData) 功能:直接向端口写数据或指令。 参数: 指向本地端口时,该名称类似如下: LPT1、LPT2、LPT3、COM1、COM2、COM3… 指向远程端口时,该名称类似如下: “HOST:192.168.1.6; PORT:9100;CHARSET:UTF-8;TIMEOUT:5000” ,其中“HOST:”是关键字,必须用其开头,可设置的内容项有四个:HOST(设置远程主机IP),PORT(远程主机端口),CHARSET(数据字符集)和TIMEOUT(写超时的毫秒数)。内容项之间用分号隔开。
strData:数据或指令值,字符型,未限制长度。
当设置端口通讯参数时strData格式如下: mode com1:波特率,校验,数据位,停止位,读时限,写时限 其中mode为固定关键字,com1要和strPortName保持一直。 校验值有:N(noparity) O(oddparity) E(evenparity) M(markparity) S(spaceparity) 读时限和写时限的时间单位为毫秒。 结果:返回逻辑结果,发送成功时返回真,发送失败时返回假。 建议或要求: 任何时间调用。 举例一:LODOP.WRITE_PORT_DATA(“COM1”, “mode com1:2400,n,8,1”); 举例二:LODOP.WRITE_PORT_DATA(“COM2″, ” mode com2:2400,n,7,2,5000,2000“); 举例三: LODOP.WRITE_PORT_DATA(“HOST:192.168.1.99;PORT:9100;CHARSET:UTF-8;TIMEOUT:5000”, “^XA\n^FO50,50\n^BY3^BCN,100,Y,N,N\n^FD>;382436>6CODE39>752375152^FS\n^XZ\n”); |
READ_PORT_DATA
名称:读端口数据 格式:READ_PORT_DATA(strPortName) 功能:直接从端口读数据,其参数可以用换行符附加通讯参数等数据,从而实现用单个语句对串口设置通讯参数后先写数据,停顿一定毫秒后再读。 参数: LPT1、LPT2、LPT3、COM1、COM2、COM3… 结果:返回字符数据。 建议或要求: 任何时间调用。 举例一:var strResult=LODOP. READ_PORT_DATA(“COM1”); 举例二: LODOP.READ_PORT_DATA(“COM1\nmode com1:2400,n,8,1,2000,1000\nSleep:200\nIamGoodMan”); (注意\n是换行符) |
GET_PRINT_INIFFNAME
名称:获得配置文件名 格式:GET_PRINT_INIFFNAME (strPrintTask) 功能:获得某打印任务的本地配置文件全路径名。 参数: strPrintTask: 打印任务名,字符型,即初始化时所设的任务名。 结果:返回字符 返回字符结果表示本地配置文件全路径名(并非文件内容),空表示失败。 建议或要求: 在初始化之后调用。 举例:var strResult=LODOP. GET_PRINT_INIFFNAME(“移动公司A种发票“); |
GET_PAGESIZES_LIST
名称:获得纸张类型名清单 格式:GET_PAGESIZES_LIST(oPrinterName,strSplit) 功能:获得某个打印机所支持的纸张类型名清单,返回一个用分隔符链接的长字符串。 参数: oPrinterName: 打印机名称或序号,字符型或数字,序号从0开始,-1代表默认打印机。 strSplit: 分隔符,字符型,例如可以用“\n”代表换行控制符来分隔。 结果:返回字符串。 建议或要求: 任何时候调用。 举例:var strResult=LODOP.GET_PAGESIZES_LIST(1,”\n”); 获取1号打印机所支持的纸张清单,纸张名之间用换行符分隔。 |
WRITE_FILE_TEXT
名称:写本地文件内容 格式:WRITE_FILE_TEXT(intWriteMode,strFileName, strText) 功能:向本地文件写入文本内容。 参数: intWriteMode: 写入模式,数字或字符型, 数字型时:0–文件覆盖模式 1--文件尾追加模式 2–文件首插入模式。 字符型时此参数设置写入文件的编码集,支持的编码集关键字如下: ANSI UTF-7 UTF-8 UTF-16 UTF-16BE Unicode GBK BIG5 EUC-JP strFileName: 本地文件名,字符型,文件名包含全路径。 strText: 写入的文本内容,字符型。 结果:调用函数后控件启动安全提示,等待操作许可。 返回字符值表示写入情况: “ok”-写入成功 “file not exist”-文件不存在 “do nothing”-未写入,一般原因有:操作者禁止读写、文件只读属性等。 写入时如果文件不存在则自动新建。 建议或要求: 任何时间调用。 举例一:LODOP.WRITE_FILE_TEXT(0, “C:\test.xls”, “abcdef12345“); 举例二:LODOP.WRITE_FILE_TEXT(“UTF-8“, “C:\test.txt“, “abcdef特殊字符12345“); |
GET_FILE_TEXT
名称:读本地文件内容 格式:GET_FILE_TEXT(strFileName) 功能:读本地文件文本内容。 参数: strFileName: 本地文件名,字符型,含全路径。 结果:调用函数后控件启动安全提示,等待操作许可。 返回字符值,文本内容。 返回空原因:文件不存在;内容真实空;操作者禁止读写; 建议或要求: 任何时间调用。 举例:var strResult=LODOP. GET_FILE_TEXT(“C:\test.xls”); |
GET_FILE_TIME
名称:读本地文件时间 格式:GET_FILE_TIME (strFileName) 功能:读本地文件最后修改时间。 参数: strFileName: 本地文件名,字符型,含全路径。 结果:返回字符值,最后修改时间,时间样式:yyyy-mm-dd hh:mm:ss。 返回空原因:文件不存在; 建议或要求: 任何时间调用。 举例:var strResult=LODOP.GET_FILE_TIME(“C:\test.xls”); |
IS_FILE_EXIST
名称:判断本地文件是否存在 格式:IS_FILE_EXIST (strFileName) 功能:判断本地文件是否存在。 参数: strFileName: 本地文件名,字符型,含全路径。 结果:返回逻辑值,逻辑真表示文件存在,逻辑假表示文件不存在。 建议或要求: 任何时间调用。 举例:var blResult=LODOP.IS_FILE_EXIST(“C:\test.xls”); |
GET_SYSTEM_INFO
名称:获得系统信息 格式:GET_SYSTEM_INFO(strInfoType) 功能:获得客户端的系统信息。 参数:strInfoType: 信息类型,字符型,信息类型是“设备类型”和“设备属性”的名称组合,用点(“.”)联结。当有多个同类设备存在时,设备类型后加“点和序号”来指定某设备。设备类型和属性的名称见WMI(MicrosoftWindows管理规范),以下是一组典型信息类型名: Drive.Count —-全部驱动的个数 Drive.Labels —-所有驱动的盘符 DiskDrive.Count —硬盘个数 DiskDrive.1.Label —第一个硬盘的盘符 DiskDrive.1.SerialNumber —主硬盘的序列号 CDROMDrive.Count –光盘的个数 CDROMDrive.1.Label —第一个光盘的盘符 CDROMDrive.1.SerialNumber —-第一个光盘的序列号 RemovableDrive.Count —优盘的个数 RemovableDrive.1.Label —第一个优盘的盘符 RemovableDrive.1.SerialNumber —第一个优盘的序列号 NetworkAdapter.Count —网卡个数 NetworkAdapter.1.PhysicalAddress —主网卡物理(MAC)地址 NetworkAdapter.1.IPAddress —主网卡IP地址 NetworkAdapter.1.SubNetMask —主网卡子网掩码(Mask) BIOS.SerialNumber —BIOS序列号 BaseBoard.SerialNumber —主板序列号 GetLastError —系统最后错误代码
其它信息请查阅WMI资料。 结果:返回字符 返回字符或整数,表示系统信息值,null表示读取失败。 建议或要求: 任何时间调用。 举例:var strResult=LODOP.GET_SYSTEM_INFO(“Drive.Labels”); |
GET_VALUE
名称:获得数据值 格式:GET_VALUE(ValueType, ValueIndex) 功能:获得程序代码、打印项属性等数据值。 参数:ValueType: 数据值类型,字符型,如下是类型名及其含义: ItemCount —-打印项个数 ItemCountHS —-打印项历史个数(包含已经删除的对象个数) ItemTop —-打印项上边距 ItemLeft —-打印项左边距 ItemWidth –—打印项宽度 ItemHeight –—打印项高度 ItemContent –—打印项内容 ItemClass-—打印项的对象类别 ItemClassName —–打印项的对象类别名 ItemPageType –—打印项的对象类型 ItemName —–打印项的对象类名(用来对单个或多个识别) ItemNameID —–打印项的对象识别序号(排除已删除对象后的序号,单个识别) ItemIndex–—该打印项物理序号(含已删除对象的序号) ItemFontName —–打印项字体名称 ItemFontSize —–打印项字体大小 ItemColor –—打印项字体颜色 ItemAlign –—打印项靠齐方式 Itembold –—打印项是否粗体 ItemItalic —-打印项是否斜体 ItemUnderline –—打印项是否下划线 ItemPenWidth –—打印项线条宽度 ItemPenStyle – —打印项线条类型 ItemHorient –—打印项左右位置 ItemVorient –—打印项上下位置 ItemAngle —-打印项旋转角度 ItemStretch —-打印项的图片缩放模式 ItemReadOnly –—打印项的打印维护内容只读 ItemPreviewOnly –—打印项是否仅预览 ItemPageIndex –—打印项的目标输出页号 ItemNumberStartPage –—打印项的页号起始页号 ItemStartNumberValue —-打印项页号起始值 ItemLineSpacing –—打印项行间距 ItemLetterSpacing —-打印项字间距 ItemExist –—该打印项是否存在,增加又删除也算不存在。 ItemIsAdded –—该打印项是否被增加过,被删除也算增加过。 ItemIsDeleted –—该打印项是否增加过且已被删除; 其中 ItemExist、ItemIsAdded、ItemIsDeleted一般用项目名来判断,不适合用序号。 ItemGroundColor(或ItembackWallColor或GroundColor)–—该打印项的背景色 ItemShowBarText –—该条码打印项是否显示条码文字 ItemQRCodeVersion–—该打印项QRCode版本号 ItemTextFrame –—该打印项边框类型 ItemSpacePatch –—该打印项文本尾是否补空格 ItemAlignJustify –—该打印项文本两端是否靠齐 ItemTranscolor –—该打印项图片透明背景色 ItemTop2Offset –—该打印项次页上边距偏移 ItemLeft2Offset –—该打印项次页左边距偏移 ItemTableHeightScope –—该打印项表格高是否含头脚 ItemLinkedItem –—该打印项的关联对象的类名(或识别号) ItemLinknewpage –—该打印项在关联顺序打印时是否在空间不足时“从新页开始” ItemSelected –—该打印项是否被选中 ItemHtmWaitMilSecs –—该(超文本)打印项下载时间附加延迟毫秒数 BKIMG_CONTENT—-背景图地址 BKIMG_LEFT—-背景图的X坐标(显示px) BKIMG_TOP—-背景图的Y坐标(显示px) BKIMG_WIDTH—-背景图的宽度(显示px) BKIMG_HEIGHT—-背景图的高度(显示px) PrintInitTop —-整体上边距 PrintInitLeft —-整体左边距 PrintInitWidth —-编辑区宽度 PrintInitHeight —-编辑区高度 PrintTaskName —-打印任务的名称 PRINTED_TIMES或PRINTEDTIMES —当前内容已打印次数(打印设计、维护和预览界面内嵌时) PREVIEW_PAGE_NUMBER—-打印预览界面内嵌时,获得当前页号 PREVIEW_ZOOM_STATE—-打印预览界面内嵌时,获得显示缩放代码 代码值含义如下: 0–适高 1–适宽 2–缩25% 3–缩50% 4–缩75% 5–正常 6–放150% 7–放200% 8–放300% 9–放500% PREVIEW_PERCENT—-打印预览界面内嵌时,获得缩放打印比例,该代码及其含义参考函数DO_ACTION中同名参数的说明。 PREVIEW _ PRINTEDTIMES—-打印预览界面内嵌时,获得被打印次数 PRINTSETUP_PAGE_COUNT —-打印预览时或打印后,获得总页数 (也可以用PREVIEW_PAGE_COUNT) PRINTSETUP_PAGE_WIDTH—-打印设置的纸张宽度,单位是0.1mm PRINTSETUP_PAGE_HEIGHT—-打印设置的纸张高度,单位是0.1mm PRINTSETUP_SIZE_WIDTH—-所设纸张的可打印宽度,单位是0.1mm PRINTSETUP_SIZE_HEIGHT—-所设纸张的可打印高度,单位是0.1mm PRINTSETUP_TOPMARGIN—-所设纸张的不可打上边距,单位是0.1mm PRINTSETUP_LEFTMARGIN—-所设纸张的不可打左边距,单位是0.1mm PRINTSETUP_FIRST_PAGE —-打印时选择的起始页号 PRINTSETUP_ LAST _PAGE —-打印时选择的结束页号 PRINTSETUP_PERCENT —打印设置的缩放比例代码 缩放代码值对应的比例含义如下: 0–30% 1–50% 2–60% 3–70% 4–80% 5–85% 6–90% 7–95% 8–100% 9–125% 10–150% 11–200% 12–按整宽 13–按整高 14–按整页 15–整宽不变形 16–整高不变形 17–自定比例 PRINTSETUP_PRINTER_NAME—当前选择的打印机名称 PRINTSETUP_ORIENT—-当前设置的打印方向 PRINTSETUP_COPIES—-当前设置的打印份数 PRINTSETUP_PAGESIZE_NAME—-当前纸张类型名称 PRINT_STATUS_JOBID —-最新JOB代码(值有打印机序号和JOB序号组成) PRINT_STATUS_ID—-打印状态代码 PRINT_STATUS_TEXT—-当前打印状态描述 PRINT_STATUS_LIST—-打印状态变化记录 PRINT_STATUS_TOTAL_PAGES—-该任务需要打印的总页数 PRINT_STATUS_PAGES_PRINTED—-该任务已经打印的总页数 PRINT_STATUS_DOCNAME—-该打印任务的文档名称 PRINT_STATUS_ADDTIME—-该打印任务的建立时间 PRINT_STATUS_EXIST—判断该打印任务是否还处在队列中 PRINT_STATUS_OK—-该打印任务是否已经打印成功 PRINT_STATUS_SECONDS—-该打印任务持续的时间(秒) PRINT_STATUS_BUSY—-该打印机是否处于忙碌状态 DesignInterfaceBaseX—-设计器原点相对于object的X坐标 DesignInterfaceBaseY—-设计器原点相对于object的Y坐标 ProgramCodes —-获得语句组式模板(程序代码),在打印设计或打印维护界面显示或关闭后通过本语句获得,本模板为js语句格式。 ProgramData —-获得文档式模板,在打印设计或打印维护界面显示或关闭后通过本语句获得,本模板为base64编码文档格式。
ValueIndex: 数值对应的项目序号或项目名称,数字或字符型,序号从1开始;有如下几种特殊情况(主要适合获取对象的属性): 1:当ValueIndex等于selected时,代表打印设计或打印维护界面选定的对象; 2:当ValueIndex等于unSelected时,代表打印设计或打印维护界面没有选定的对象; 3:当ValueIndex等于first或last时,分别代表第一对象和最后一个对象; 4:当ValueType为打印状态(各种PRINT_STATUS_XXX)时,ValueIndex是打印任务的JOB代码,该代码通过PRINT及PREVIEW指令返回,或者本函数的PRINT_JOBID参数获得;要使用各种PRINT_STATUS_XXX,必须用函数SET_PTINT_MODE打开其“CATCH_PRINT_STATU”模式。 5:当ValueType 为“ProgramCodes”或“ProgramData”时,可以通过ValueIndex参数控制输出范围: 0-全部代码(默认),1-排除初始化语句,2-排除纸张设置,4-排除变量赋值语句,8-排除背景图语句。
结果:返回字符 返回对应的字符型、整数型或逻辑值,返回空字符表示读取失败。 建议或要求: 打印设计或打印维护运行期间调用。 举例一:var strResult=LODOP. GET_VALUE (“ItemTop“,1); 获得第1个内容项的上边距值。 举例二:var strResult=LODOP. GET_VALUE (“ItemContent “,”myItm01“); 获得类名为“myItm01“的项目的内容值。 举例三:LODOP.GET_VALUE(‘DesignInterfaceBaseX’,0); LODOP.GET_VALUE(‘DesignInterfaceBaseY’,0); 获取设计器原点相对于object的坐标,便于js拖拉进来的对象和设计器内部的位置一致,见官网样例35. |
FORMAT
名称:数据格式转换 格式:FORMAT (oType, oValue) 功能:按一定的格式类型对数据进行转换后,返回转换结果。 参数: oType: 格式类型,字符型,目前可转换的数据类型有“时间”“浮点数”“字符串”“文件”“颜色”等几大类: 1、日期时间通用格式:TIME:通用格式表达式 通用格式表达式可参考操作系统的日期时间格式,有日期和时间两部分组成,在日期部分y代表年,m代表月,d代表日;在时间部分h代表小时,m或n代表分钟,s代表秒,分隔符在这些字符之外任意设置,dddd表示星期。 例如:“TIME:yyyy-mm-dd hh:mm:ss” “TIME:yyyy年mm月dd日” “TIME:yyyy/mm/dd hh:mm:ss”“TIME:yyyy年mm月dd日hh时nn分ss秒” 转换后返回的结果为字符串。 2、日期时间的浮点值:TIME: FloatValue 返回日期时间数据的浮点值。 3、日期时间格式有效判断:TIME: IsValidFormat 判断时间数据有效与否,返回的是逻辑真假值。 4、日期的星期序号:TIME: WeekIndex 表示星期几。返回的是0…6之间的数字,其中0表示星期天,6表示星期六。 5、浮点数据格式:FLOAT:数值格式表达式 数值格式表达式由0 # . , E 等五个字母组成描述数据样式的字串,其中0表示有则显示,无则补零,#表示有则显示,无则不显示,E用于科学计数法。 例如:“FLOAT:#,##0.00” “FLOAT:0.00”“FLOAT:#.##” 6、人民币大写:UpperMoney 特指人民币大写转换,返回汉字串。 7、字符格式一:CHAR: FirstPinYin 获得汉字的汉语拼音首字母,返回的是字符串。 8、字符格式二:CHAR: IsCharacter 判断数据是否纯英文字符,不包含汉字,返回的是逻辑真假值。 9、字符格式三:CHAR: IsChinese 判断数据是否纯汉字,不包含英文字母,返回的是逻辑真假值。 10、字符格式四:CHAR: EncodeBase64 获得普通字符的BASE64国际通用编码,该编码有大小写字母、数字和+/=等组成,返回的是字符串。 11、字符格式五:CHAR: DecodeBase64 获得BASE64编码串的解码字符,是CHAR: EncodeBase64的逆过程。返回的是普通字符串。 12、文件格式一:FILE:EncodeBase64 获得普通文件的BASE64国际通用编码,该编码有大小写字母、数字和+/=等组成,返回的是字符串。要求对应的oValue值是文件名及其路径,且文件存在,可以是任何文件。本操作会引起控件的用户安全确认提示。 13、文件格式二:FILE: DecodeBase64,文件路径及其名称 获得BASE64编码串的解码文件,是FILE:EncodeBase64的逆过程。返回的是生成文件成功与否的逻辑结果。例如:“FILE:DecodeBase64,C:\test1.jpg” 本操作会引起控件的用户安全确认提示。 14、颜色格式一:COLOR:Hex 获得颜色的十六进制表达式,“#”字母打头,返回的是字符串。 15、颜色格式二:COLOR:Name 获得颜色的英文名称,识别164种颜色值的名称,返回的是字符串。 16、颜色格式三:COLOR:Decimal 获得颜色的十进制值(RGB值),返回的是整数值。 17、文字转声音:VOICE:语速;音量 把文字朗读出来,可设置语速和音量,其中VOICE:是关键字,语速的设置范围是-10~ 10,音量范围是0~100,返回的是逻辑真假值,表示是否成功。 18、文字转声音文件:FILE:WAVE,文件路径及其名称 把文字的朗读声音存成WAVE文件,其中FILE:WAVE,是关键字,文件名要符合window起名规范,返回的是逻辑真假值,表示是否成功。 oValue: 要转换的目标数据,一般是字符串形式的数据,也可以是时间浮点值,当oType是FILE:EncodeBase64或FILE:WAVE,时该值是文件名及其路径, oValue有如下几个特殊字符值: Now-当前日期及其时间、Date当前日期、Time当前时间 举例如下: 结果:返回转换后的结果,返回的数据有字符串、浮点数、逻辑值等类型。 建议或要求: 任何时间调用。 举例: var strResult=LODOP.FORMAT(“UpperMoney”,”1567.48″); var strResult=LODOP.FORMAT(“UpperMoney”,”45.82”); 把45.82转换成人民币大写形式; var strResult=LODOP.FORMAT(“TIME:yyyy-mm-dd hh:mm:ss”,”now”); 返回当前日期及其时间; var strResult=LODOP.FORMAT(“TIME:yyyy/mm/dd”,new Date()); 返回当前日期; var blResult=LODOP.FORMAT(“VOICE:0;50″,”Hello,您好!”); 朗读文字; var blResult=LODOP.FORMAT(“FILE:WAVE,c:/lodoptest.wav”,”Hello,您好!”); 把朗读声音存成wav文件 |
GET_DIALOG_VALUE
名称:获得对话框结果值 格式:GET_DIALOG_VALUE(oType,oPreValue) 功能:弹出一个对话框窗口,并返回对话结果。 参数: oType: 对话类型,字符型,具体类型及其含义如下: LocalFileFullName :弹出一个定位本地文件的对话框,并返回文件的全路径名。 Color:弹出一个颜色对话框,并返回所选16进制颜色表达式,放弃则返回空。 LocalFileFullNameForSave:弹出一个定位保存本地文件的对话框,并保存内容。 LocalFileFullNameForOpen:弹出一个定位本地文件的对话框,并返回文件的全路径名。 oPreValue 文件类型或颜色原值 “LocalFileFullName”的PreValue值是指文件类型,例如“*.bmp;*.jpg”“*.mdb”。 “Color”的PreValue是颜色对话框的默认值。 “LocalFileFullNameForSave”的PreValue值是保存文件的路径及文件名,例如“*.bmp;*.jpg” “*.mdb”等。 “LocalFileFullNameForOpen”的PreValue值是指文件类型,例如“*.bmp;*.jpg”“*.mdb”等。 结果:返回对话结果值,字符型。 建议或要求: 任何时间调用。 举例:var strResult=LODOP.GET_DIALOG_VALUE(“LocalFileFullName”,”*.jpg;*.bmp;.jpeg”); var strResult=LODOP.GET_DIALOG_VALUE(“LocalFileFullNameForSave”,”保存的新文件名.txt”); |
2、增强函数
PRINT_INITA
名称:(增强型)打印初始化 格式:PRINT_INITA(Top,Left,Width,Height,strPrintName) 功能:打印初始化、设定纸张整体偏移量、设定可视编辑区域大小 参数: Top: 整页上边距,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅)、px(1/96英寸) 、%(百分比),如“10mm”表示10毫米,不设置时(用PRINT_INIT初始化)缺省值为0。 Left: 整页左边距,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅)、px(1/96英寸) 、%(百分比),如“10mm”表示10毫米,不设置时(用PRINT_INIT初始化)缺省值为0。 Width: 可视编辑区域的宽度,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅)、px(1/96英寸),如“10mm”表示10毫米,不设置时(用PRINT_INIT初始化)缺省为800px Height: 可视编辑区域的高度,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅)、px(1/96英寸),如“10mm”表示10毫米,不设置时(用PRINT_INIT初始化)缺省为600px strPrintName: 打印任务名,同PRINT_INIT 的strTaskName。 当打印程序没有调用本初始化语句且调用了SET_PRINT_PAGESIZE时,那么后者设置的纸张尺寸会影响(代替)这里的Width和Height。 结果:返回逻辑值 返回逻辑真表示初始化成功,逻辑假表示初始化失败,失败原因有:前一个打印事务没有完成;操作系统没有打印机(驱动)等 建议或要求 该函数与PRINT_INIT都有初始化功能,建议和要求同PRINT_INIT。 如果打印页有上边距或左边距要求,或可视编辑区域大小用实际纸张大小不合适时,调用本函数。 举例:LODOP.PRINT_INITA(10,10,762,533,”移动公司发票全样“); |
ADD_PRINT_HTML
名称:增加超文本打印项(图形模式) 格式:ADD_PRINT_HTML(Top,Left,Width,Height, strHtmlContent) 功能:增加超文本打印项,设定该打印项在纸张内的位置和区域大小,实现超文本控制打印。 参数:同ADD_PRINT_HTM 结果:无 建议或要求: 图形模式打印速度快,但不适合要求文本打印质量高的情况,特别是要面对针式打印机。 但如果打印的内容在一个纸张页内完成,也就是没有被Lodop自动分页时,本函数采用矢量快照模式,打印质量会和文本模式一样高,速度会更快,是最佳推荐模式。 推荐页面程序主动控制分页,然后采用本函数。 举例一:LODOP.ADD_PRINT_HTML(0,0, 300,100,”<hr><font size=5>hello </font>”); 举例二:LODOP.ADD_PRINT_HTM L(0,0, “100%”,”100%”,”URL:http://www.baidu.com”); |
ADD_PRINT_TBURL
名称:(增强型)增加表格打印项(URL模式) 格式:ADD_PRINT_TBURL(Top,Left,Width,Height,strURL) 功能:按URL地址增加一个超文本表格打印项,只输出第一个table元素显示内容。 功能同ADD_PRINT_TABLE 参数:同ADD_PRINT_URL 结果:无 建议或要求: 要求在打印初始化后调用,建议在画线类函数之后调用。 举例: LODOP.ADD_PRINT_TBURL(0,0, “100%”,”100%”,”http://www.x.com/table.htm”); |
ADD_PRINT_TEXTA
名称:(增强型)增加纯文本打印项 格式:ADD_PRINT_TEXTA(strItemName,Top,Left,Width,Height,strContent) 功能:同函数ADD_PRINT_TEXT。 参数: strItemName: 所增纯文本打印项的项目名,字符型,未限制长度。 其它参数同函数ADD_PRINT_TEXT。 结果:同函数ADD_PRINT_TEXT。 建议或要求: 建议和要求同函数ADD_PRINT_TEXT。当打印项序号比较难以控制时,用本函数。 |
SET_PRINT_STYLEA
名称:(增强型) 设置打印项风格A,继承SET_PRINT_STYLE的所有属性 SET_PRINT_STYLEA(varItemNameID, strStyleName,varStyleValue) 功能:类似函数SET_PRINT_ STYLE的功能,二者的区别是本函数只对单个打印项有效。 参数: varItemNameID:要设置的目标项序号或项目名,数字型或字符型。
如果序号为0,代表当前(最后加入的那个)数据项;如果序号是负数,代表前面加入的数据项,该值为前移个数偏移量。
关键字有如下几种: Selected-代表在设计界面上用鼠标所选的所有对象; unSelected-代表在设计界面上所有没有被鼠标选择的对象; All-代表所有正常对象; First-代表第一个正常对象; Last-代表最后一个正常对象; 不是关键字的字符一般是类名,类名可以在ADD_PRINT_TEXTA 加入纯文本时用strItemName来声明,也可以在设计界面用菜单功能(Set TEXT Item Name)来设置。
strStyleName:打印风格名,风格名称及其含义如下: “PreviewOnly”: 指定内容仅仅用来预览或打印。 “ChartStyle”:图表风格,字符形的控制串。 “ChartLeftTitle”:图表的左标题,单行文本字符。 “ChartBottomTitle”: 图表的底标题 “ChartTopTitle”: 图表的上标题 “ChartRightTitle”: 图表的右标题 “ChartTitle”: 图表的主标题 “ChartFoot”: 图表的注脚 “ChartbkStartColor”: 图表的背景渐变的起始颜色 “ChartBKEndColor”: 图表的背景渐变的截止颜色 “ChartMarkColor”: 图表的标注颜色 “ShowBarText” :(一维)条码的码值是否显示 “LeftWallColor”: 图表的左墙颜色 “BottomWallColor”: 图表的底墙颜色 “NumberStartPage”:页号排序的起始页 “LineSpacing”:纯文本的行间距 “LetterSpacing”: 纯文本的字间距 “ItemName”:项目类名 “StartNumberValue”:打印页号的初始值 “Content”:打印项的内容 “Deleted”:删除打印项或恢复被删除项; “TransColor”:透明图片的底色 “PageUnIndex”: 禁止输出页的序号控制字 “SpacePatch”:文本末尾补空格 “AlignJustify”:设置“text文本”是否两端对齐或“barcode条码文字”靠齐方式 “TextFrame”:文本的外框类型 “Offset2Top”:次页开始的上边距偏移量 “Offset2Left”:次页开始的左边距偏移量 “LinkedItem”:设置关联内容项的项目编号 “TableHeightScope”:设置TABLE高度是否包含页头页尾 “NotOnlyHighPrecision”:设置条码适应低精度输出或扫描设备 “LinkNewPage”:如果前面剩余空间不足,关联对象顺序打印时就“从新页开始” “HtmWaitMilSecs”:设置超文本下载延迟毫秒数 “Repeat”:设置对象是否在本纸张内有规律重复输出 “AngleOfPageInside”:设置内容对象所在页的整体旋转角度(该对象最好是所在页的首对象) “QRCodeVersion”: 设置二维码QRCode版本值,其决定容量 “QRCodeErrorLevel”:设置二维码QRCode纠错等级 “QRCodeEncodeMode”: 设置二维码QRCode编码模式 “ContentVName”:设置打印设计返回程序代码时的内容参数变量名, (当PROGRAM_CONTENT_BYVAR真时ContentVName才有效) “PDF417EncodeMode”: 设置二维码PDF417压缩模式 “PDF417ErrorLevel”: 设置二维码PDF417容错级别 “PDF417Columns”: 设置二维码PDF417数据列数 “PDF417H_W”: 设置二维码PDF417基条高(倍数) “PDF417Short”: 设置二维码PDF417是否截短模式 “DataCharset”: 设置二维条码的数据集 “GroundColor”: 设置条码的背景色 “TableRowThickNess”:设置htm对象中表格行的自动分页粒度 “TextNeatRow”:设置多行Text对象文本行是否尽量对齐 “IDTagForPick”:用URL获取整页面后,可按ID或标签摘取页面内的单个元素(需高级注册,参考样例14) “Top”用语句二次修改某对象的位置顶部边界距离(在内嵌设计时有用,此前只能用热键或界面按钮) “Left”用语句二次修改某对象的位置和宽高(在内嵌设计时有用,此前只能用热键或界面按钮) “Width”用语句二次修改某对象的位置和宽高(在内嵌设计时有用,此前只能用热键或界面按钮) “Height”用语句二次修改某对象的位置和宽高(在内嵌设计时有用,此前只能用热键或界面按钮) 其它见SET_PRINT_STYLE
varStyleValue:打印风格值,相关值如下: PageIndex的值:字符型,用该序号字指定本数据项输出到哪些页。“First”第一页;“Last”最后页;“Odd”奇数页;“Even”偶数页;“具体数字”对应具体页号,可以是多个页号,页号之间用逗号或分号隔开;空表示默认页。缺省值是空。 PreviewOnly的值:字符或数字型,1或true代表仅预览不打印,2代表不预览不打印,否则为正常打印内容。 ChartStyle的值: 字符(串)型,该字符串的长度是19位,譬如:“00001-8008–2353312”每个位置的含义如下: 第1位控制“左边坐标样式”,样式值为0到5之间的一个数字或字符“-”,其中0代表“Hidden”、1代表“Auto”、2代表“None”、3代表“Value”、4代表“Mark”、5代表“Text”,字符“-”代表不设置,用默认样式; 第2位控制“底边坐标样式”,第3位控制“上边坐标样式”,第4位控制“右边坐标样式”,这三位的样式值及其含义与第1位相同。 第5位控制“图例样式”,样式值为0到6之间的一个数字或字符“-”,其中0代表“Hidden”、1代表“LeftValue” 、2代表“LeftPercent” 、3代表“XValue” 、4代表“Plain”、5代表“RightValue”、6代表“RightPercent”,字符“-”代表不设置,用默认样式。 第6位控制“图例位置”,其值为0到3之间的一个数字或字符“-”,其中0代表“Left”、1代表“Right”、2代表“Top”、3代表“Bottom”,字符“-”代表不设置,用默认位置。 第7位控制“标注样式”,样式值为0到9之间的一个数字或字符“-”,其中0代表“Hidden”、1代表“Value” 、2代表“Percent” 、3代表“Label” 、4代表“Label and Percent”、5代表“Label and Value”、6代表“Legend” 、7代表“Percent Total” 、8代表“Label and Percent Total” 、9代表“XValue”,字符“-”代表不设置,用默认样式。 第8位控制“标注是否透明”,其值为0到1之间的一个数字或字符“-”,其中0代表“不透明”、1代表“透明”,字符“-”代表不设置,默认不透明。 第9-10这两位控制“三维深度(3D效果)”,其值为1到99之间的一个数值或两个字符“-”,1-99代表3D效果的百分比例,字符“-”代表不设置,用默认的3D效果。 第11-12这两位控制“左墙厚度”,其值为0到99之间的一个数值或两个字符“-”,0代表隐藏左墙,1-99代表左墙的厚度,字符“-”代表不设置,用默认的厚度。 第13位控制“背景色渐变走向样式”,样式值为0到7之间的一个数字或字符“-”,其中0代表“Hidden”、1代表“Top->Bottom”、2代表“Bottom->Top”、3代表“Left->Right”、4代表“Right->Left”、5代表“From Center”、6代表“From TopLeft”、7代表“From BottomLeft”,字符“-”代表不设置,用默认样式。 第14-16这三位控制“左右方向的旋转角度”,其值为270到361之间的一个数值或三个字符“-”,270-360代表旋转的角度,361代表恢复缺省角度,字符“-”代表不设置,用默认的角度。 第17-19这三位控制“前后方向的翻转角度”,其值为270到360之间的一个数值或三个字符“-”,270-360代表旋转的角度,字符“-”代表不设置,用默认的角度。 ChartLeftTitle、ChartBottomTitle、ChartTopTitle、ChartRightTitle、ChartTitle、ChartFoot:这六个的值:都是单行文本字符,未限制长度。 ChartbkStartColor、ChartBKEndColor、ChartMarkColor、LeftWallColor、BottomWallColor、BackWallColor这六个的值:整数或字符型,整数时是颜色的十进制RGB值;字符时是超文本颜色值,可以是“#”加三色16进制值组合,也可以是英文颜色名。 ShowBarText的值 :字符或逻辑型,真表示显示(一维条码的)码值,假表示隐藏码值,默认值是真。true、“true”、1、“1”代表真,false、“false”、0或“0”代表假 NumberStartPage的值:整数型,代表页号排序时的起始页,默认是1,即从第一页开始计算页号,设置大于1时一般用于目录或扉页不排序。 LineSpacing、LetterSpacing的值:字符或整数型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅)、px(1/96英寸)。 ItemName的值:字符型,未限制长度,禁止包含关键字“ITEM”。 StartNumberValue的值,整数型,打印页号时起始值,默认是1,即页号从1开始累加,该值可以是0或负数。 “Content”的值: 字符型,打印项的内容,未限制长度,在内容打印维护或打印设计时可动态设置打印项内容。 “Deleted”的值:字符或逻辑型,真表示删除该打印项, True或“True”或1或“1”==真,False或“False”或0或“0”=假,假表示恢复删除项。 “TransColor”的值:透明图片的底色,整数或字符型,整数时是颜色的十进制RGB值;字符时是超文本颜色值,可以是“#”加三色16进制值组合,也可以是英文颜色名。 PageUnIndex的值:字符型,用该序号字禁止本数据项输出到哪些页。“First”第一页;“Last”最后页;“Odd”奇数页;“Even”偶数页;“具体数字”对应具体页,可以是多个页号,页号之间用逗号或分号隔开;空表示不禁止。缺省值是空。 “SpacePatch”的值:数字型,1代表文本末尾补空格,0代表不补。 “AlignJustify”的值: 数字型 设置“text文本”时,1代表两端对齐,0代表不处理(默认); 设置“barcode条码文字”时,0-两端对齐(默认) 1-左靠齐 2-居中 3-右靠齐; “TextFrame”的值: 数字型,文本的外框类型如下: 0(None)–无 1(Uper)–上划线 2(Under)–下划线 3(Left)–左划线 4(Right)–右划线 5(Rect)-矩形圈框 6(Ellipse)-圆圈框 7(Luper)-整行上划线 8(Lunder)-整行下划线 9(Lleft)-整行左划线 10(Lright)–整行右划线11(Lrect)-整行矩形圈框 12(Lellipse)-整行圆圈框 13(Grid)-田字格 14(Divi)-分割线 “Offset2Top”的值: 整数或字符型,可声明单位或百分比,表示从次页开始的上边距偏移量。例如当对象的首页内容不能从顶端开始打印时,本设置显然很有用。 “Offset2Left” 的值: 整数或字符型,可声明单位或百分比,表示从次页开始的左边距偏移量。 “LinkedItem”的值: 整数或字符型,字符型代表被关联项的项目名,整数代表被关联项的序号,如果是负数,代表当前对象,例如-1代表前一个对象,-2代表前面隔一个对象,使用-1时可以用同一个语句连续顺序关联一串对象。 内容项与别人关联后,会紧跟被关联者之后打印,位置和区域大小随被关联项而定,此时其Top和left不再是上边距和左边距,而是与关联项的间隔空隙及左边距偏移。 如果关联者是页眉页脚对象,那么不会每页输出,仅与被关联对象同页输出。此时输出的位置与被关联对象的位置相对固定,也就是当上边距小于被关联对象的上边距时,那么其起点位置会与被关联者的上边线保持设计时的距离,否则与被关联对象的下边线保持设计时的距离。 “TableHeightScope” 的值:数字型, 0-代表不包含(默认),1-代表包含头和尾 2-只包含页头 3-只包含页尾。这个值仅对TABLE对象有效。 “NotOnlyHighPrecision”的值:数字型或逻辑型,True或1代表“是”,False或0代表“否”。 “LinkNewPage”的值:字符或数字型,True或1代表“是”,False或0代表“否”。 “HtmWaitMilSecs”的值:整数,毫秒数。 “Repeat”的值:数字型或逻辑型,True或1代表“是”,False或0代表“否”,本项对TABLE对象和HTM对象不起作用,但对IMAGE、TEXT、SHAPE、HTML(不是HTM)、BARCODE和CHART都起作用。 “AngleOfPageInside”的值:整数,角度值,正数表示逆时针旋转角度,负数表示顺时针旋转角度,可设置任何值,但注意很多打印机不一定支持该旋转,需要实际测试后再决定使用该功能,一般来说旋转+-90度和180度比较常见,当打印机不支持这种旋转打印时,仍可采用“横向打印”(参考SET_PRINT_PAGESIZE)实现-90度旋转,后者几乎所有打印机都支持。 “QRCodeVersion”的值:数字,有1,2,3,5,7,10,14共七个版本可选,最小版本的字符容量是14字符或者7个汉字,最大版本的容量是352字符或对应汉字。 “QRCodeErrorLevel”的值:单字符,默认值是”M”,具体值及其纠错等级含义如下: “L”:7% “M”:15%(默认) “H”:30% “QRCodeEncodeMode” 的值:单字符,默认值是”B”,具体值及其编码含义如下: “N”:数字 “A”:英文字母 “B”:二进制或汉语(默认) “ContentVName”的值:字符型,无长度限制,尽量避免太长,且不要包含标点符号。 内容参数变量名是为了生成后的程序代码直接与页面程序对接,不用再二次替换,也就是说,这里设置的变量名,在js程序中应该有对应的同名变量且已经赋值。 “PDF417EncodeMode”的值:数字型,数字代码及其压缩模式:0-自动(默认),1-txt模式 2-bin模式 “PDF417ErrorLevel”的值:数字型,数字代码及其容错级别:-1–自动(默认) 0–2byes 1––4byes 2--8byes 3–16byes 4--32byes 5–64byes 6--128byes 7--256byes 8–512byes “PDF417Columns”的值:数字型,数字代码:0–自动(默认),其它值有1,2,3,4,5,6,7,8,最大是8,代码值等于数据列数值。 “PDF417H_W”的值:数字型,数字代码及基条高(也称长宽倍数):0–自动(默认) 其它值有1,2,3,4,5,6,7,8,最大是8,代码值等于倍数值,这里的倍数是指基条高度与宽度的比例,它影响了整个条码的长宽形态。 “PDF417Short”的值,数字型或逻辑型,设置条码是否截短模式,True或1代表“是”,False或0代表“否”。 “DataCharset” 的值,字符型,二维码支持的数据集有: ANSI,UTF-8,GB2312,GBK,BIG5,EUC-JP,UTF-7,UNICODE,UTF-16,UTF-16BE,SHIFT-JIS,Windows-874,Windows-1250,Windows-1251,Windows-1253,Windows-1254,Windows-1255,Windows-1256,Windows-1257,Windows-1258 “GroundColor” 的值,设置条码的背景色,整数或字符型,整数时是颜色的十进制RGB值;字符时是超文本颜色值,可以是“#”加三色16进制值组合,也可以是英文颜色名。 “TableRowThickNess”的值:整数,分页粒度值,默认是20(px)。所谓分页粒度,是指自动分页时在分页线附近进行的前后定位分割线的范围。如果这个范围设置太小,那么分页位置恰巧遇到较大单元格时,则找不到其前后表格线,此时控件会把td单元格切开;相反如果这个范围设置太大,那么原本想切开的大单元格会被大块地搬到下页,造成每页内容差别很大而参差不齐。 “TextNeatRow” 的值,数字型或逻辑型,True或1代表“是”,False或0代表“否”。设置Text对象文本尽量对齐时,结尾型标点符号会溢出在行外,长英文单词也会被拆开,从而实现每行的右边界对齐。 “IDTagForPick”的值,是页面的ID或标签摘取页面内的单个元素,字符型。 其它见SET_PRINT_STYLE
结果:同函数SET_PRINT_ STYLE。 建议或要求: 打印初始化后、增加打印项之后调用本函数。 举例一:LODOP.SET_PRINT_STYLEA(3,”FontName”,”隶书”); 设置第3个内容项的字体为隶书。 举例二:1.LODOP.SET_PRINT_STYLEA(0,”PageIndex”,”first”); 设置刚加入的这个内容只在首页输出。 2.LODOP.ADD_PRINT_HTM(1,600,300,100,”总页号:<span tdata=’pageNO-2′>第##页</span>/<span tdata=’pageCount-2′>共##页</span>”); LODOP.SET_PRINT_STYLEA(0,”ItemType”,1);//每页都输出 LODOP.SET_PRINT_STYLEA(0,”PageUnIndex”,”1,2″);//1、2页不输出,排除法。 3. LODOP.SET_PRINT_STYLEA(0,”PageIndex”,”3,Last-1″); 设置让某个内容项仅在第3页和倒数第2页输出,控制输出范围的具体页号值可以是“Fisrt”“Last”为变量的四则运算表达式; 举例三:LODOP.SET_PRINT_STYLEA(0,”PreviewOnly”,true); 设置刚加入的这个内容只用来预览不实际打印输出。 举例四:LODOP.SET_PRINT_STYLEA(0,”QRCodeVersion”,3); 举例五:LODOP.SET_PRINT_STYLEA(0,”QRCodeErrorLevel”,”L“); 举例六:LODOP.SET_PRINT_STYLEA(0,”PDF417ErrorLevel”,2); 举例七:LODOP.SET_PRINT_STYLEA(0,”DataCharset”,”UTF-8″); 举例八:LODOP.SET_PRINT_STYLEA(0,”GroundColor”,”#0080FF”); 举例九:LODOP.SET_PRINT_STYLEA(0,”IDTagForPick”,”form2″); //其它例如:”table:2″ “div:3” |
举例十:LODOP.SET_PRINT_STYLEA(0,’Top’,’20mm’); //重设值 LODOP.SET_PRINT_STYLEA(0,’Left’,’++2mm’); //增量 LODOP.SET_PRINT_STYLEA(0,’Width’,’–2mm’); //减量 LODOP.SET_PRINT_STYLEA(0,’Height’,’BottomMargin:++2mm’);//用转义字 举例十一:用语句二次修改整体附加偏移和可视编辑区域的总宽高,如下: LODOP.SET_PRINT_STYLEA(‘PRINT_INIT’,’Top’,’20mm’); LODOP.SET_PRINT_STYLEA(‘PRINT_INIT’,,’Left’,’20mm’); LODOP.SET_PRINT_STYLEA(‘PRINT_INIT’,,’Width’,’20mm’); LODOP.SET_PRINT_STYLEA(‘PRINT_INIT’,,’Height’,’20mm’); |
SAVE_TO_FILE
名称:导出数据到文件 格式:SAVE_TO_FILE(strFileName) 功能:把目标数据保存为图片或电子表格Excel文件 参数:strFileName 要保存的文件名及其路径。其扩展名指明要保存的文件类型,目前支持的扩展名如下: “.xls”—Excel文件(电子表格文件) 在导出Excel文件时,必须用ADD_PRINT_TABLE函数加入table标签组成的表格数据,注意内容所在元素的(Lodop专有)xformat属性可以设置其数据类型,例如“#,##0.00”“@” “0.00%”“¥#,##0.00”等(同Excel)。如果执行了多个ADD_PRINT_TABLE语句,则以最后那句为准。 导出图片时可以保存各种ADD语句加入的任何类型的内容,属于全部导出,如选择扩展名是EMF或WMF,则导出矢量图,清晰且不失真。 结果:返回逻辑结果,保存成功时返回真,保存失败或放弃保存时返回假。 建议或要求: Add数据后执行。 举例:LODOP.SAVE_TO_FILE(“新的矢量图片文件.emf”); 前面加的打印内容导成EMF格式的矢量图文件。 |
SET_SAVE_MODE
ADD_PRINT_SHAPE
名称:(增强型)增加图形 格式: ADD_PRINT_SHAPE(intShapeType, Top, Left,Width,Height,intLineStyle, intLineWidth, varColor) 功能:增加矩形框、椭圆、直线等图形打印项,设定该图形在纸张内的位置和大小,设定线条的类型和线条宽度。 参数: intShapeType: 该图形的类型,数字型参数。0–仰角直线 1–俯角直线 2–矩形框线 3–椭圆线 4–实心矩形 5–实心椭圆 Top: 该图形在纸张内的上边距,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅)、px(1/96英寸) 、%(百分比),如“10mm”表示10毫米。 当上边距超过纸张高度时,打印项被输出在下一页(或更下页)。 Left: 该图形在纸张内的左边距,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅)、px(1/96英寸) 、%(百分比),如“10mm”表示10毫米。 Width: 该图形(直线的外缘矩形或椭圆的外缘矩形)的宽度,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅)、px(1/96英寸) 、%(百分比),如“10mm”表示10毫米。 Height: 该图形(直线的外缘矩形或椭圆的外缘矩形)的高度,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米) 、mm(毫米) 、pt(磅)、px(1/96英寸) 、%(百分比),如“10mm”表示10毫米。 intLineStyle: 线条类型,数字型,0–实线 1–破折线 2–点线 3–点划线 4–双点划线 缺省线条是实线。 intLineWidth: 线条宽,整数型,单位是(打印)像素,缺省值是1,非实线的线条宽也是0。 varColor: 图形的颜色,整数或字符型,整数时是颜色的十进制RGB值;字符时是超文本颜色值,可以是“#”加三色16进制值组合,也可以是英文颜色名; 结果:无 建议或要求: 要求在打印初始化后调用,建议在文本类函数之前调用。 举例:LODOP.ADD_PRINT_SHAPE(4,70,59,100,60,0,1,”#FF0000″); |
SET_PRINTER_INDEXA
名称:(增强型)指定打印设备 格式:SET_PRINTER_INDEXA (oIndexOrName) 功能:按名称或序号指定要进行打印输出的设备,指定后允许重新选择。 参数: oIndexOrName: 打印机名称或序号,字符或数字型。数字表示打印机的序号,从0开始,最大序号是GET_PRINTER_COUNT()减1。-1特指操作系统内设定的默认打印机。 字符代表打印机的名称,与操作系统内的打印机名称一致。 注:用本函数指定打印机后,在预览界面允许重新选择打印机,而用另外一个函数SET_PRINTER_INDEX指定后则不允许重新选择。 结果:返回逻辑值 返回逻辑真表示指定成功,逻辑假表示指定失败,失败原因有:该打印设备不存在。 建议或要求: 要求在初始化之后、打印或预览之前调用。 举例:LODOP.SET_PRINTER_INDEXA(“Bullzip PDF Printer”); |
NEWPAGEA
名称:(增强型)强制分页 格式:NEWPAGEA() 功能:强制分页。执行该函数之后所增加的内容会在前面内容的尾页之后新建一页输出,前面无内容时,仍然从第一页开始。 参数:无 结果:返回逻辑值 返回逻辑真表示强制分页成功,逻辑假表示强制分页失败。 建议或要求: 打印初始化后调用本函数。 举例:LODOP.NEWPAGEA (); |
PREVIEWA
名称:(增强型)打印预览A 格式:PREVIEWA () 功能:同函数PREVIEW。预览前提示选择打印机。 参数:同函数PREVIEW。 结果:同函数PREVIEW。 建议或要求: 同函数PREVIEW。 举例:LODOP.PREVIEWA(); |
PREVIEWB
名称:(增强型)打印预览B 格式:PREVIEWB () 功能:同函数PREVIEW。强制用缺省布局风格来打印预览。 参数:同函数PREVIEW。 结果:同函数PREVIEW。 建议或要求: 同函数PREVIEW。不希望最终使用者改变打印布局和风格时调用本函数。 举例:LODOP.PREVIEWB(); |
PRINTA
名称:(增强型)直接打印A 格式:PRINTA () 功能:同函数PRINT。打印前提示选择打印机。 参数:同函数PRINT。 结果:同函数PRINT。返回逻辑结果,当真实打印时返回真,放弃打印或打印出错时返回假。 建议或要求: 同函数PRINTA。 举例:LODOP.PRINTA(); |
PRINTB
名称:(增强型)直接打印B 格式:PRINTB () 功能:同函数PRINT。强制用缺省布局风格来打印。 参数:同函数PRINT。 结果:同函数PRINT。 建议或要求: 同函数PRINT。不希望最终使用者改变打印布局和风格时调用本函数。 举例:LODOP.PRINTB(); |
SHOW_CHART
DO_ACTION
名称:控制界面动作 格式:DO_ACTION (ActName, ActValue) 功能:在控件界面内嵌到浏览器时,JS通过该函数直接驱使控件内部的动作事件。 参数: ActName动作名称,具体名称及其含义如下: PREVIEW_ZOOM_HIGHT:适高显示动作,触发预览界面适高显示按钮点击一次。 PREVIEW_ZOOM_NORMAL:正常显示动作,触发预览界面正常显示按钮点击一次。 PREVIEW_ZOOM_WIDTH:适宽显示动作,触发预览界面适宽显示按钮点击一次。 PREVIEW_ZOOM_IN:拉近显示动作,触发预览界面拉近(放大+)显示按钮点击一次。 PREVIEW_ZOOM_OUT:推远显示动作,触发预览界面推远(缩小-)显示按钮点击一次。 PREVIEW_PERCENT:选择缩放打印比例动作,改变预览界面缩放比例选项。 PREVIEW_GOFIRST:首页动作,触发预览界面首页(第一页)按钮点击一次。 PREVIEW_GOPRIOR:上页动作,触发预览界面上页按钮点击一次。 PREVIEW_GONEXT:下页动作,触发预览界面下页按钮点击一次。 PREVIEW_GOLAST:尾页动作,触发预览界面尾页(最后页)按钮点击一次。 PREVIEW_GOTO:页跳转动作,预览界面直接转到ActValue指定的页号显示。 PREVIEW_GOSKIP:页跳过动作,预览界面跳过ActValue指定的页数后显示。 PREVIEW_SETUP:打印设置动作,触发预览界面打印设置按钮点击一次。 PREVIEW_PRINT:打印动作,触发预览界面打印按钮点击一次。 PREVIEW_CLOSE:关闭动作,触发预览界面关闭按钮点击一次。 PREVIEW_ROTATE:旋转显示动作,触发预览界面旋转按钮点击一次。 ActValue 动作辅助值 只有如下动作的辅助值有意义; PREVIEW_PERCENT 的值:数字,代码值及其含义为: 0–30% 1–50% 2–60% 3–70% 4–80% 5–85% 6–90% 7–95% 8–100% 9–125% 10–150% 11–200% 12–按整宽 13–按整高 14–按整页 15–整宽不变形 16–整高不变形 17–自定比例 PREVIEW_GOTO 的值:整数,某页的页序号值,从1开始。 PREVIEW_GOSKIP 的值:整数,跳转的页数,正数向后跳,负数向前跳。 结果:无。 建议或要求: 在内嵌界面正常打开后调用。 举例:LODOP.DO_ACTION(“PREVIEW_ZOOM_NORMAL”,0); |
SET_LICENSES
名称:设置软件产品注册信息 格式: SET_LICENSES (strCompanyName, strLicense, strLicenseA,strLicenseB) 功能:以函数方式设置软件使用权注册信息,功能与对应的控件参数一样。 参数: strCompanyName:注册单位名称,用途与控件参数CompanyName一样。 strLicense:主注册号,用途与控件参数License一样。 strLicenseA:附加注册号A,用途与控件参数LicenseA一样。 strLicenseB:附加注册号B,用途与控件参数LicenseB一样。 结果:无 建议或要求: 任何时间调用,本函数适合以隐蔽方式设置注册信息。 购买注册号时,卖方会提供具体的注册语句,直接拷贝就行。 |
五、软件使用权注册
打印控件Lodop是一款专业共享软件,公开发行版本没有功能限制,多数用户可免费长期使用,仅如下功能需要注册使用权:
- (不经过预览的)“直接打印”功能;
- “导出数据到Excel文件” 功能;
不经注册使用以上功能时,打印输出结果的左下角会出现“本页由【试用版打印控件LodopX.0】输出”小字样水印。
Lodop注册号的价格表、购买方式和使用方法见:http://blog.sina.com.cn/s/blog_721e77e50100nfzs.html
六、打印维护和打印设计
打印设计的目标用户是软件开发者,详细功能解释略。
打印设计用到的快捷键:
ctrl 选中;
ctrl + delete 删除;
ctrl + 方向键 移动微调;
ctrl + 鼠标滑动 选中区域内打印项;
ctrl + 打印对象,同时拖拉一个对象就复制了;
打印对象列中按住ALT键的同时拖拉改变对象的顺序位置。
打印维护的目标用户是页面操作者,详细功能解释略。
七、使用样例
演示样例参见发行文件包及其技术手册可从如下地址下载:
http://www.c-lodop.com/download.html或
http://www.mtsoftware.cn/download.html
八、计量单位
本文所述px单位固定换算关系如下,与像素类似但不是一个概念,也不受显示影响:
1in(英寸)=2.54cm(厘米)=25.4mm(毫米)=72pt(磅)=96px
另外一个特殊的计量单位“%(百分比)”,是指相对于纸张大小的百分比值,其中“上、下边距、高度”等的百分比是相对于纸张高度(横向打印时则是宽度)的比值,而“左、右边距和宽度”的百分比是相对于纸张宽度(横向打印时则是高度)的比值。
<完>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/37032.html