Lodop30技术手册Word下载.docx
《Lodop30技术手册Word下载.docx》由会员分享,可在线阅读,更多相关《Lodop30技术手册Word下载.docx(29页珍藏版)》请在冰点文库上搜索。
PRINT_SETUP13
PRINT_DESIGN14
GET_PRINTER_COUNT14
GET_PRINTER_NAME14
SET_PRINTER_INDEX15
ADD_PRINT_SETUP_BKIMG15
GET_PRINT_INIFFNAME15
扩展函数16
SET_PRINT_PAPER16
ADD_PRINT_HTMLA16
ADD_PRINT_TEXTA17
SET_PRINT_TEXT_STYLEA17
SET_PRINT_TEXT_STYLEB18
ADD_PRINT_RECTA18
ADD_PRINT_ELLIPSEA18
ADD_PRINT_DNLINEA19
ADD_PRINT_UPLINEA19
SET_PRINT_PROPERTYA20
PREVIEWA20
PREVIEWB20
PRINTA21
PRINTB21
SET_PRINTER_INDEXA21
五、打印维护和打印设计21
六、使用样例22
七、计量单位22
一、概述
Lodop是一款专业的WEB打印控件,其设计目标是简单易用、功能足够强大,开创WEB打印开发的新局面。
Lodop设计者对WEB下的打印开发任务进行了分类汇总,高度抽象,设计出仅用几个功能函数,就可实现复杂的打印任务,尽量减少使用者的知识累赘。
控件发布包有3个系统文件组成,全部功能用4个控件参数和2组功能函数来实现。
尽管我们有个理想化的目标,那就是您不用详细了解这些参数或函数,仅仅利用几个样例文件就能很轻松地开始使用本控件,为此Lodop提供了一个足够完善的设计界面,用它可以实现大多数打印开发任务,但事实上了解这些参数和函数总还是有好处的,特别是当你的开发任务很复杂时,这就是本文目的,但愿本文档足够详细且简单明了。
如果此前曾看过lodop的入门样例程序,本文会更容易理解!
二、系统文件
Lodop发布包内主要有如下三个文件:
install_lodop.exe
该文件是控件安装和升级的主文件,提供给用户或开发者下载安装,如果不特意拦截一般都能100%安装,对“网页插件安装难”有一定改善。
如果将其复制或改名为uninstall_lodop.exe(名前加un)就可用其卸载控件。
Lodop安装后,在操作系统目录WINDOWS\system32下会安装一个OCX文件:
CAOSOFT_WEB_PRINT_LODOP.OCX,有特殊需要的使用者可以将该文件自主签名,用传统的OCX安装方式发布(RegSvr32c:
\windows\system32\CAOSOFT_WEB_PRINT_lodop.ocx)。
CheckActivX.js
该文件是用来引导安装控件的一个JS文件,是个样例,但建议直接采用。
其中CheckLodop的任务是检查控件是否安装、是否最新版本、并引导安装或升级。
文件内容如下:
functionCheckLodop(){
varoldVersion=LODOP.Version;
newVerion="
3.0.0.0"
;
if(oldVersion==null){
document.write("
<
h3>
fontcolor='
#FF00FF'
>
打印控件未安装!
点击这里<
ahref='
install_lodop.exe'
执行安装<
/a>
安装后请刷新页面。
/font>
/h3>
"
);
if(navigator.appName=="
Netscape"
)
(Firefox浏览器用户需先点击这里<
npActiveX0712SFx31.xpi'
安装运行环境<
)<
}elseif(oldVersion<
newVerion)
打印控件需要升级!
执行升级<
升级后请重新进入。
}
其中的关键点是Version函数,Lodop提供了一个“读版本号”功能,这样控件的安装和升级任务就交给JS来实现,以下是控件在页面内的调用代码,其中包含CheckLodop的利用:
head>
title>
/title>
scriptlanguage="
javascript"
src="
CheckActivX.js"
/script>
OBJECT
ID="
LODOP"
CLASSID="
clsid:
2105C259-1E0C-4534-8141-A753534CB4CA"
WIDTH=0
HEIGHT=0>
paramname="
CompanyName"
value="
注册单位名称"
License"
注册号"
/OBJECT>
/head>
body>
CheckLodop();
…
/body>
以上两段代码相互配合实现了Lodop的安装、调用和升级。
之所以将CheckActivX.js作为一个资源文件来部署,既可以利用浏览器的缓存减少页面内容的重复下载,同时还实现了控件发布统一管理,整个应用系统中只要这一个地方发布Lodop。
其它页面直接拷贝嵌入第2段代码就可以了。
npActiveX0712SFx31.xpi
该文件是Firefox浏览器需要的安装附加文件。
目前Lodop支持IE系列浏览器、Firefox系列浏览器和IE内核类浏览器(遨游、腾讯TT、麒麟、世界之窗等)及其它支持ActiveX的各类浏览器。
三、控件参数
Lodop有如下4个控件参数,主要用于软件注册,以网页插件(ActiveX)参数形式使用:
CompanyName
名称:
设置注册单位名称
格式:
注册单位名称XXX"
功能:
该名称配合License实现按使用者单位名称注册。
这种注册不限制域名,注册者可把Lodop用于多个WEB工程,适合软件开发公司注册。
License
设置注册号
注册号XXX"
该注册号有两项功能:
一、当CompanyName不空时,该注册号配合其实现按使用者单位名称注册。
二、当CompanyName空时,这是域名注册号之一,一般是域名的名称注册号。
这种注册只限该域名使用,价格便宜,适合最终使用单位注册。
LicenseA
设置附加注册号A
LicenseA"
附件注册号A"
当CompanyName空时,这是域名注册号之二,一般是内网IP注册号,随主注册号免费赠送。
LicenseB
设置附加注册号B
LicenseB"
附件注册号B"
当CompanyName空时,这是域名注册号之三,一般是外网IP注册号,随主注册号免费赠送。
四、功能函数
Lodop的功能函数不多,但参数比较复杂。
全部函数分“基本函数”和“扩展函数”两类,两类函数有类似性,基本函数使用简单,达不到要求时请使用扩展函数,二者无本质区别。
基本函数
VERSION
获得软件版本号
VERSION
结果:
返回字符型结果
版本号有四个数字组成,样式为:
X.X.X.X
PRINT_INIT
打印初始化
PRINT_INIT(strTaskName)
初始化运行环境,清理异常打印遗留的系统资源,设定打印任务名。
参数:
strTaskName:
打印任务名,字符型参数,由开发者自主设定,未限制长度,字符要求符合Windows文件起名规则,Lodop会根据该名记忆相关的打印设置、打印维护信息。
若strTaskName空,控件则不保存本地化信息,打印全部由页面程序控制。
返回逻辑值
返回逻辑真表示初始化成功,逻辑假表示初始化失败,失败原因有:
前一个打印事务没有完成;
操作系统没有打印机(驱动)等。
建议或要求:
该函数与SET_PRINT_PAPER都有初始化功能,每个打印事务至少初始化一次,建议打印程序首先调用该函数。
任务名要尽量区别于其它打印任务,譬如用“XX单位_XX管理信息系统_XX子系统_XX模块_XX打印作业”字样。
不希望最终用户更改打印布局时,则设strTaskName空。
SET_PRINT_PAGESIZE
设定纸张大小
SET_PRINT_PAGESIZE(intOrient,intPageWidth,intPageHeight,strPageName)
设定打印纸张为固定纸张,并设定其大小值或纸张类型名及打印方向。
intOrient:
设定打印方向,数字型,0(或其它)-默认方向1-纵(正)向打印2-横向打印。
intPageWidth:
设定自定义纸张宽度,整数型,单位为0.1毫米。
intPageHeight:
设定自定义纸张高度,整数型,单位为0.1毫米。
高或宽小于等于0时strPageName才起作用。
strPageName:
设为标准纸张,纸张类型名,字符型,只能在如下名称中选择,不限大小写:
Letter,LetterSmall,Tabloid,Ledger,Legal,Statement,Executive,
A3,A4,A4Small,A5,B4,B5,Folio,Quarto,qr10X14,qr11X17,Note,
Env9,Env10,Env11,Env12,Env14,Sheet,DSheet,Esheet
注:
intPageWidth、intPageHeight和strPageName都无效时,本函数对纸张大小不起作用,控件则采用所选打印机的默认纸张,但intOrient仍可起作用。
如果打印程序未采用扩展方式(SET_PRINT_PAPER)初始化,本函数所定制的纸张大小,会起到SET_PRINT_PAPER中intWidth和intHeight的相同功能。
无
打印初始化之后调用。
如果打印纸张不固定,希望有操作者自主选择纸张时,则不要调用本函数。
ADD_PRINT_HTML
增加超文本打印项
ADD_PRINT_HTML(intTop,intLeft,intWidth,intHeight,strContent)
增加超文本打印项,设定该打印项在纸张内的位置和区域大小,实现超文本控制打印。
intTop:
所增打印项在纸张内的上边距,整数型,单位是像素。
当上边距超过纸张高度时,打印项被输出在下一页(或更下页)。
IntLeft:
所增打印项在纸张内的左边距,整数型,单位是像素。
intWidth:
打印区域的宽度,整数型,单位是像素。
intHeight:
打印区域的高度,整数型,单位是像素。
strContent:
超文本代码内容,字符型,未限制长度。
可以是一个完整的页面,页可以
要求在打印初始化后调用,建议在画线类函数之后调用。
ADD_PRINT_TEXT
增加纯文本打印项
ADD_PRINT_TEXT(intTop,intLeft,intWidth,intHeight,strContent)
增加纯文本打印项,设定该打印项在纸张内的位置和区域大小,文本内容在该区域内自动折行。
打印项在纸张内的上边距,整数型,单位是像素。
打印项在纸张内的左边距,整数型,单位是像素。
纯文本内容,字符型,未限制长度。
SET_PRINT_TEXT_STYLE
设置文本风格
SET_PRINT_TEXT_STYLE(intItemNO,strFontName,intSize,intBold,intItalic,intUnderline,intAlign)
设置某纯文本项的打印风格。
intItemNO:
要设置的目标文本项的序号,数字型,序号以其增加的先后自然顺序为准,从1开始,所有打印对象都参与排序,包括超文本、纯文本、矩形线、椭圆线、直线等。
StrFontName:
设定该文本打印项的字体名,字符型,与操作系统字体名一致,缺省(不调用本函数时)字体是“宋体”。
IntSize:
设定该文本打印项的字体大小,数字型,按西文字体大小,缺省值是9。
IntBold:
设定该文本打印项是否粗体,数字型,1代表粗体,0(或非1)代表非粗体,缺省值是0。
IntItalic:
设定该文本打印项是否斜体,数字型,1代表斜体,0(或非1)代表非斜体,缺省值是0。
IntUnderline:
设定该文本打印项是否下划线,数字型,1代表有下划线,0(或非1)代表无下划线,缺省值是0。
IntAlign:
文本内容在打印区域内靠齐方式,数字型,1(或其它)-左靠齐2-居中3-右靠齐,缺省值是1。
要求在目标对象增加(ADD_PRINT_TEXT)后调用本函数。
ADD_PRINT_RECT
增加矩形线
ADD_PRINT_RECT(intTop,intLeft,intWidth,intHeight,intPenStyle,intPenWidth)
增加矩形线打印项,设定该矩形在纸张内的位置和大小,设定线条的类型和线条宽度。
该矩形在纸张内的上边距,整数型,单位是像素。
该矩形在纸张内的左边距,整数型,单位是像素。
该矩形的宽度,整数型,单位是像素。
该矩形的高度,整数型,单位是像素,宽和高相等时是正方形。
intPenStyle:
线条类型,数字型,0(或其它)代表实线1-破折线2-点线3-点划线4-双点划线
缺省线条是实线。
intPenWidth:
线条宽,整数型,单位是像素,缺省值是1px,非实线的线条宽也是1px。
要求在打印初始化后调用,建议在文本类函数之前调用。
ADD_PRINT_ELLIPSE
增加椭圆线
ADD_PRINT_ELLIPSE(intTop,intLeft,intWidth,intHeight,intPenStyle,intPenWidth)
增加椭圆线打印项,设定该椭圆在纸张内的位置和大小,设定线条的类型和线条宽度。
该椭圆的外缘矩形在纸张内的上边距,整数型,单位是像素。
该椭圆的外缘矩形在纸张内的左边距,整数型,单位是像素。
该椭圆的外缘矩形的宽度,整数型,单位是像素。
该椭圆的外缘矩形的高度,整数型,单位是像素,宽和高相等时是圆。
ADD_PRINT_DNLINE
增加俯角直线
ADD_PRINT_DNLINE(intTop,intLeft,intWidth,intHeight,intPenStyle,intPenWidth)
增加俯角直线,该直线为一个矩形框的左上角与右下角的对角线,设定线条的类型和线条宽度。
该直线所在矩形框在纸张内的上边距,整数型,单位是像素。
该直线所在矩形框在纸张内的左边距,整数型,单位是像素。
该直线所在矩形框的宽度,整数型,单位是像素。
该直线所在矩形框的高度,整数型,单位是像素。
intHeight和intPenWidth相等时为水平直线,intWidth和intPenWidth相等时为垂直线。
ADD_PRINT_UPLINE
增加仰角直线
ADD_PRINT_UPLINE(intTop,intLeft,intWidth,intHeight,intPenStyle,intPenWidth)
增加仰角直线,该直线为一个矩形框的左下角与右上角的对角线,设定线条的类型和线条宽度。
SET_PRINT_PROPERTY
设置打印项属性
SET_PRINT_PROPERTY(intItemNO,intPageType,intHorzOrient,intVertOrient)
设置打印项的基本属性,并设置其位置锁定方式。
要设置的目标对象的序号,数字型,序号以其增加的先后自然顺序为准,从1开始,所有打印项都参与排序,包括超文本、纯文本、矩形线、椭圆线、直线等。
intPageType:
设定该打印项的基本属性,数字型,0(或其它)-普通项1-页眉页脚2-页号项3-页数项4-多页项缺省(不调用本函数时)值0。
普通项只打印一次;
页眉页脚项则每页都在固定位置重复打印;
页号项和页数项是特殊的页眉页脚项,其内容包含当前页号和全部页数;
多页项每页都打印,直到把内容打印完毕,打印时在每页上的位置和区域大小固定一样(lodop3.0的多页项只对纯文本有效)。
intHorzOrient:
设定该打印项在纸张内的水平位置锁定方式,数字型,0(或其它)-左边距锁定1-右边距锁定2-水平方向居中3-左边距和右边距同时锁定(中间拉伸),缺省值是0。
intVertOrient:
设定该打印项在纸张内的垂直位置锁定方式,数字型,0(或其它)-上边距锁定1-下边距锁定2-垂直方向居中3-上边距和下边距同时锁定(中间拉伸),缺省值是0。
要求在目标对象增加后调用本函数。
PREVIEW
打印预览
PREVIEW()
打印预览输出页。
弹出打印预览界面,详见打印预览说明。
建立打印页之后运行。
PRINT
直接打印
PRINT()
不经打印预览的直接打印。
打印机开始实际打印,返回逻辑结果,正确打印时返回真,打印出错时返回假。
PRINT_SETUP
打印维护
PRINT_SETUP()
对整页的打印布局和打印风格进行界面维护,它与打印设计的区别是不具有打印项增删功能,目标使用者是最终用户。
弹出打印维护界面,详见打印维护说明。
PRINT_DESIGN
打印设计
PRINT_DESIGN()
对整页的打印布局和打印风格进行界面设计,它与打印维护的区别是具有打印项增删功能,目标使用者是开发者。
弹出打印设计界面,详见打印设计说明。
GET_PRINTER_COUNT
获得打印设备个数
GET_PRINTER_COUNT()
获得操作系统内打印设备的个数。
返回数字
返回数字结果表示操作系统内的打印设备个数,0表示失败或无打印设备。
任何时间调用均可。
GET_PRINTER_NA