Lodop属性和方法详解 (2)

Border
名称:设置控件的显示区域边界
格式: < par am name=“Border” value=“1” >
功能:通过该参数设置控件显示区域的边界,值等于1表示有边界,否则无边界。本参数可以让控件更融于整体页面。

另外,控件还有三个用于注册的辅助参数,参考后面《软件使用权注册》一节。
四、功能函数
Lodop的功能函数不多,但参数比较复杂。全部函数分“基本函数”和“扩展函数”两类,两类函数有类似性,基本函数使用简单,达不到要求时请使用扩展函数,二者无本质区别。

1、基本函数
VERSION
名称:获得软件版本号
格式:VERSION
结果:返回字符型结果
版本号有四个数字组成,样式为:X.X.X.X

PRINT_INIT
名称:打印初始化
格式:PRINT_INIT(strTaskName)
功能:初始化运行环境,清理异常打印遗留的系统资源,设定打印任务名。
参数:
strTaskName:
打印任务名,字符型参数,由开发者自主设定,未限制长度,字符要求符合Windows文件起名规则,Lodop会根据该名记忆相关的打印设置、打印维护信息。
若strTaskName空,控件则不保存本地化信息,打印全部由页面程序控制。
结果:返回逻辑值
返回逻辑真表示初始化成功,逻辑假表示初始化失败,失败原因有:前一个打印事务没有完成;操作系统没有打印机(驱动)等。
建议或要求:
该函数与PRINT_INITA都有初始化功能,每个打印事务至少初始化一次,建议打印程序首先调用该函数。任务名要尽量区别于其它打印任务,譬如用“XX单位_XX管理信息系统_XX子系统_XX模块_XX打印作业”字样。
不希望最终用户更改打印布局时,则设strTaskName空。

SET_PRINT_PAGESIZE
名称:设定纸张大小
格式:SET_PRINT_PAGESIZE(intOrient, PageWidth,PageHeight,strPageName)
功能:设定打印纸张为固定纸张或自适应内容高,并设定相关大小值或纸张名及打印方向。
参数:
intOrient:
打印方向及纸张类型,数字型,
1—纵(正)向打印,固定纸张;
2—横向打印,固定纸张;
3—纵(正)向打印,宽度固定,高度按打印内容的高度自适应;
0(或其它)----打印方向由操作者自行选择或按打印机缺省设置;
PageWidth:
设定自定义纸张宽度,整数或字符型,整数时缺省长度单位为0.1毫米。字符型时可包含单位名:in(英寸)、cm(厘米)、mm(毫米)、pt(磅)、px(1/96英寸),如“10mm”表示10毫米。
纸张宽,单位为0.1mm譬如该参数值为45,则表示4.5mm,计量精度是0.1mm。
PageHeight:
固定纸张时设定纸张高;高度自适应时设定纸张底边的空白高。整数或字符型,整数时缺省长度单位为0.1毫米。字符型时可包含单位名:in(英寸)、cm(厘米)、mm(毫米)、pt(磅)、px(1/96英寸),如“10mm”表示10毫米。
高小于等于0时strPageName才起作用。
strPageName:
所选纸张类型名,字符型。不同打印机所支持的纸张可能不一样,这里的名称同操作系统内打印机属性中的纸张名称,支持操作系统内的自定义纸张。
关键字“CreateCustomPage”会按以上宽度和高度自动建立一个自定义纸张,所建立的纸张名固定为“LodopCustomPage”,多次建立则刷新该纸张的大小值。
注:PageWidth、PageHeight和strPageName都无效时,本函数对纸张大小不起作用,控件则采用所选打印机的默认纸张,但intOrient仍可起作用。
如果打印程序未采用扩展方式(PRINT_INITA)初始化,本函数的固定纸张功能所定制的纸张大小,会起到PRINT_INITA中Width和Height的相同功能。
实际打印时,控件按如下优先级顺序确定纸张大小:
第1优先是打印维护里纸张属性(“本机自行定义纸张”)设置的纸张大小。
第2优先是SET_PRINT_PAGESIZE指定的纸张大小;
第3优先是上次打印时在预览界面设置里选择的纸张类型;
第4是按所选打印机的默认纸张;
结果:无
建议或要求:
打印初始化之后调用。
如果打印纸张不固定,希望由操作者自主选择纸张时,则不要调用本函数。

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函数无效,仅适用本函数。
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毫米。控件按这个值自动分页。本参数可以用BottomMargin关键字转义为打印区域相对于纸张的“下边距”。
strHtml:
超文本代码内容,字符型,未限制长度。可以是一个完整的页面超文本代码,或者是一个代码段落,也可以是URL:web地址形式的URL地址。要求实际内容中至少包含一个table元素。
特别说明:本函数能识别的超文本专有元素属性有tdata、format、tclass、tindex等四个,它们主要用来实现分页小计、分类合计等统计功能,这四个属性可以用在table内的任何元素上,包含tdata属性的超文本元素下面称为“统计结果元素”,被统计的超文本元素称为“数据元素”,它们的属性值及其含义如下:
①tdata:设置统计类型,其值和含义为:
subCount—本页行数,即本页该数据列的单元格行数;
subSum—本页合计,即本页该数据列的数值合计;
subAverage—本页平均数,即本页合计除以本页行数;
Count—累计行数,即从第一页到本页的该列行数的累加值;
Sum—累计数,即从第一页到本页的该列数值的累加值;
Average—累计平均数,即累计数除以累计行数;
allCount—总行数,即该列全表的行数;
allSum—总计数,即该列全表的数值总和;
allAverage—总平均数,即全表总计数除以总行数;
pageNO—页号,即本table页的序号(与打印纸张的页号不一定相同);
pageCount—总页数,即全(table)表被分成的总页数;
②format:设置统计结果的显示格式,其值如下样式:
“0”“0.00””“#.##”“#,##0.00”“0.000E+00”“#.###E-0”“UpperMoney(大写金额)”等等,其中的“#”表示当数据为0时不显示。
③tclass:设置分类统计的“类名”,其值可任意设置,在分类统计时,“统计结果元素”和“数据元素”的tclass值必须一致。
④tindex:一般要求“统计结果元素”的位置与“数据元素”的列位置一致或内含在“数据元素”列内,如果位置无法一致,可以用tindex指定对应的数据列,该值是数字型的列序号,从1起始。
⑤占位符:一个要显示统计结果的“统计结果元素”必须要包含占位符,占位符是任意个“#”组成的字符串,占位符可以与其它内容混合在一起,当统计结果值较大时,开发者需要注意占位符要占用足够多的位置,除非占位符周围有合理的空白区,避免统计结果与普通内容重叠。
结果:无
建议或要求:
要求在打印初始化后调用,建议在画线类函数之后调用。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgfggg.html