web打印控件 LODOP的详细api

Posted 侃侃而谈。句句是你

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web打印控件 LODOP的详细api相关的知识,希望对你有一定的参考价值。

web打印控件 LODOP的详细api

篇幅较长,建议ctrl+F快速搜索关键字

你可以点击这里查看LODOP打印控件官网。

Lodop发布包内主要有如下几个文件:

install_lodop.exe

该文件是控件安装和升级的主文件,提供给用户或开发者下载安装,如果不特意拦截一般都能100%安装,对“网页插件安装难”有一定改善。如果将其复制或改名为uninstall_lodop.exe (名前加un)就可用其卸载控件。

Lodop安装后,在操作系统目录WINDOWS\\system32下会安装两个实体文件:CAOSOFT_WEB_PRINT_LODOP.OCX和NPCAOSOFT_WEB_PRINT_lodop.dll,前一个文件是OCX文件,后者是Npplugin文件,其作用是实现多浏览器支持。目前Lodop支持IE系列、IE内核系列(遨游、360、世界之窗、腾讯TT、搜狗等)浏览器,以及Firefox(火狐)系列、Chrome(谷歌)系列、Opera系列、Safari系列等Windows下几乎所有的浏览器。

程序文件有几个预定参数:

-waitXX该参数设置安装程序运行完毕后自动关闭窗口,这里的XX表示关闭前等待的秒数,如果是0秒则安装(或卸载)成功后立即关闭,例如:–wait8

-nowindow 该参数设置安装程序运行时不出现窗口。

-un       该参数使程序执行卸载操作,参数优先于文件名。

-in       该参数使程序执行安装操作,参数优先于文件名。

安装界面如下:

LodopFuncs.js

该文件是用来引导安装控件的一个JS文件,是个样例,但建议直接采用。其中getLodop的任务是判断浏览器的类型并决定采用

function getLodop(oOBJECT,oEMBED)

        var strhtml1="<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='install_lodop.exe'>执行安装</a>,安装后请刷新页面或重新进入。</font>";

        var strHtml2="<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='install_lodop.exe'>执行升级</a>,升级后请重新进入。</font>";

        var strHtml3="<br><br><font color='#FF00FF'>(注:如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】中先卸载它)</font>";

        var LODOP=oEMBED;       

     try         

          if (navigator.appVersion.indexOf("MSIE")>=0) LODOP=oOBJECT;

 

          if ((LODOP==null)||(typeof(LODOP.VERSION)=="undefined")) 

            if (navigator.userAgent.indexOf('Firefox')>=0)

                document.documentElement.innerHTML=strHtml3+document.documentElement.innerHTML;

            if (navigator.appVersion.indexOf("MSIE")>=0) document.write(strHtml1); else

            document.documentElement.innerHTML=strHtml1+document.documentElement.innerHTML;

           else if (LODOP.VERSION<"6.0.0.1") 

            if (navigator.appVersion.indexOf("MSIE")>=0) document.write(strHtml2); else

            document.documentElement.innerHTML=strHtml2+document.documentElement.innerHTML;

          

          //*****如下空白位置适合调用统一功能:*********

 

          //*******************************************

          return LODOP;

     catch(err)

          document.documentElement.innerHTML="Error:"+strHtml1+document.documentElement.innerHTML;

          return LODOP;

     

其中的关键点是VERSION函数,Lodop提供了这个“读版本号”功能,这样控件的安装和升级任务就交给JS来实现,以下是控件在页面内的调用代码,其中包含getLodop的使用:

<head>

<title></title>

<script language="javascript" src="LodopFuncs.js"></script>

<object  id="LODOP" 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'),document.getElementById('LODOP_EM'));

</script>

…

</body>

以上两段代码相互配合实现了Lodop的安装、调用和升级。之所以将LodopFuncs.js作为一个资源文件来部署,既可以利用浏览器的缓存减少页面内容的重复下载,同时还实现了控件发布统一管理,整个应用系统中只要这一个地方发布Lodop。其它页面直接拷贝嵌入第2段代码就可以了。

基本参数:

Lodop有如下控件参数,以页面object对象元素的参数形式使用:

  

Caption:

1

2

3

4

5

名称:设置控件的显示标题

格式:<param name="Caption" value="我是打印控件lodop">

功能: 控件在页面内一般是以object元素形式被引用。可以通过设置元素的width和height等于0来隐藏控件,不隐藏时可以为控件设置一个标题,以便于看到控件是否被正确安装,以及控件对象在页面内的位置。希望打印预览界面或设计界面内嵌到网页内时,本参数很有用。

Color:

1

2

3

4

5

6

7

名称:设置控件的显示区域颜色

格式:<param name="Color" value="#C0C0C0">

功能:通过该参数设置控件显示区域的底色,对于希望打印预览界面或设计界面内嵌到网页内时,本参数可以让控件容易融于整体页面。

参数值采用超文本颜色形式,可以是三色16进制值组合,也可以是英文颜色名。

Border:

1

2

3

4

5

名称:设置控件的显示区域边界

格式:<param name="Border" value="1">

功能:通过该参数设置控件显示区域的边界,值等于1表示有边界,否则无边界。本参数可以让控件更融于整体页面。

功能参数:

  VERSION:

1

2

3

4

5

6

7

名称:获得软件版本号

格式:VERSION

结果:返回字符型结果

版本号有四个数字组成,样式为:X.X.X.X

  PRINT_INIT:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

名称:打印初始化

格式:PRINT_INIT(strTaskName)

功能:初始化运行环境,清理异常打印遗留的系统资源,设定打印任务名。

参数:

strTaskName:

打印任务名,字符型参数,由开发者自主设定,未限制长度,字符要求符合Windows文件起名规则,Lodop会根据该名记忆相关的打印设置、打印维护信息。

若strTaskName空,控件则不保存本地化信息,打印全部由页面程序控制。

结果:返回逻辑值

返回逻辑真表示初始化成功,逻辑假表示初始化失败,失败原因有:前一个打印事务没有完成;操作系统没有打印机(驱动)等。

建议或要求:

该函数与PRINT_INITA都有初始化功能,每个打印事务至少初始化一次,建议打印程序首先调用该函数。任务名要尽量区别于其它打印任务,譬如用“XX单位_XX管理信息系统_XX子系统_XX模块_XX打印作业”字样。

不希望最终用户更改打印布局时,则设strTaskName空。

  SET_PRINT_PAGESIZE:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

名称:设定纸张大小

格式: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:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

名称:增加超文本打印项(普通模式)

格式: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:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

名称:增加表格打印项(超文本模式)

格式: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起始。

⑤占位符:一个要显示统计结果的“统计结果元素”必须要包含占位符,占位符是任意个“#”组成的字符串,占位符可以与其它内容混合在一起,当统计结果值较大时,开发者需要注意占位符要占用足够多的位置,除非占位符周围有合理的空白区,避免统计结果与普通内容重叠。

结果:无

建议或要求:

要求在打印初始化后调用,建议在画线类函数之后调用。

  ADD_PRINT_URL:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

名称:增加超文本打印项(URL模式)

格式:ADD_PRINT_URL(Top,Left,Width,Height,strURL)

功能:按URL地址增加超文本打印项,设定该打印项在纸张内的位置和区域大小。

参数:

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关键字转义为打印区域相对于纸张的“下边距”。

strURL:

页面URL地址,字符型,未限制长度。

结果:无

建议或要求:

要求在打印初始化后调用,建议在画线类函数之后调用。

  ADD_PRINT_TEXT:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

名称:增加纯文本打印项

格式:ADD_PRINT_TEXT(Top,Left,Width,Height,strContent)

功能:增加纯文本打印项,设定该打印项在纸张内的位置和区域大小,文本内容在该区域内自动折行,当内容超出区域高度时,如果对象被设为“多页文档”则会自动分页继续打印,否则内容被截取。

参数:

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关键字转义为打印区域相对于纸张的“下边距”。

strContent:

纯文本内容,字符型,未限制长度。

结果:无

建议或要求:

要求在打印初始化后调用,建议在画线类函数之后调用。

  ADD_PRINT_IMAGE:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

名称:增加图片打印项

格式:ADD_PRINT_IMAGE(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:

本参数是字符型,有三种情况:一是超文本代码内容;二是本地文件名内容;第三是WEB地址。第一种情况一般是用IMG标签组成的超文本代码段落。第二种情况是本地文件名全路径,格式如“C:/test.jpg”。第三种情况是是URL:web地址形式的URL地址。

结果:无

建议或要求:

要求在打印初始化后调用,建议在画线类函数之后调用。

本函数可用ADD_PRINT_HTM代替,但区别是其仅取超文本第一个图片元素,边距是0,而且打印时不因为设计区域小于图片而被分页,适合与纯文本组合打印的插图。 

  ADD_PRINT_RECT:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

名称:增加矩形线

格式:ADD_PRINT_RECT(Top, Left, Width, Height,intLineStyle, intLineWidth)

功能:增加矩形线打印项,设定该矩形在纸张内的位置和大小,设定线条的类型和线条宽度。

参数:

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关键字转义为打印区域相对于纸张的“下边距”。

intLineStyle:

线条类型,数字型,0--实线 1--破折线 2--点线 3--点划线 4--双点划线

缺省线条是实线。

intLineWidth:

线条宽,整数型,单位是(打印)像素,缺省值是1,非实线的线条宽也是0。

结果:无

建议或要求:

要求在打印初始化后调用,建议在文本类函数之前调用。

  ADD_PRINT_ELLIPSE:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

名称:增加椭圆线

格式:

ADD_PRINT_ELLIPSE(Top, Left,Width, Height, intLineStyle, intLineWidth)

功能:增加椭圆线打印项,设定该椭圆在纸张内的位置和大小,设定线条的类型和线条宽度。

参数:

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关键字转义为打印区域相对于纸张的“下边距”。

intLineStyle:

线条类型,数字型,0--实线 1--破折线 2--点线 3--点划线 4--双点划线

缺省线条是实线。

intLineWidth:

线条宽,整数型,单位是(打印)像素,缺省值是1,非实线的线条宽也是0。

结果:无

建议或要求:

要求在打印初始化后调用,建议在文本类函数之前调用。 

  ADD_PRINT_LINE:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

名称:增加直线

格式:

ADD_PRINT_LINE(Top1,Left1, Top2, Left2,intLineStyle, intLineWidth)

功能:增加直线,设定直线的两个端点,设定直线的线条类型和线宽。

参数:

Top1:

端点1的上边距,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米)、mm(毫米)、pt(磅)、px(1/96英寸)、%(百分比),如“10mm”表示10毫米。

当上边距超过纸张高度时,打印项被输出在下一页(或更下页)。

Left1:

端点1的左边距,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米)、mm(毫米)、pt(磅)、px(1/96英寸)、%(百分比),如“10mm”表示10毫米。

Top2:

端点2的上边距,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米)、mm(毫米)、pt(磅)、px(1/96英寸)、%(百分比),如“10mm”表示10毫米。本参数可以用BottomMargin关键字转义为端点2相对于纸张的“下边距”。

Left2:

端点2的左边距,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米)、mm(毫米)、pt(磅)、px(1/96英寸)、%(百分比),如“10mm”表示10毫米。本参数可以用RightMargin关键字转义为端点2相对于纸张的“右边距”。

intLineStyle:

线条类型,数字型,0--实线 1--破折线 2--点线 3--点划线 4--双点划线

缺省线条是实线。

intLineWidth:

线条宽,整数型,单位是(打印)像素,缺省值是1,非实线的线条宽也是0。

结果:无

建议或要求:

要求在打印初始化后调用,建议在文本类函数之前调用。

  ADD_PRINT_BARCODE:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

名称:增加条形码

格式:

ADD_PRINT_BARCODE(Top, Left,Width, Height, CodeType, CodeValue)

功能:增加条形码打印项,设定该条形码在纸张内的位置和大小,指定条形码的类型和条码值,控件在打印机上直接绘制条码图。

参数:

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毫米。条码密度会根据宽度自动调整,直到最小密度,也就是单条宽等于1px时。本参数可以用RightMargin关键字转义为打印区域相对于纸张的“右边距”。

Height:

该条码图的高度,整数或字符型,整数时缺省长度单位为px。字符型时可包含单位名:in(英寸)、cm(厘米)、mm(毫米)、pt(磅)、px(1/96英寸)、%(百分比),如“10mm”表示10毫米,宽和高相等时是圆。本参数可以用BottomMargin关键字转义为打印区域相对于纸张的“下边距”。

CodeType:

条码类型,字符型。目前支持的类型(条码规制)主要是一维条码,有如下几种:

128A,128B,128C,EAN8,EAN13,EAN128A,EAN128B,EAN128C,Code39,

39Extended,2_5interleaved,2_5industrial,2_5matrix,UPC_A,UPC_E0,UPC_E1,UPCsupp2,UPCsupp5,Code93,93Extended,MSI,PostNet,Codaba,QRCode。

其中QRCode二维码,其它为一维码。默认情况下QRCode的版本会根据宽度和高度自动调整,页面程序也可以直接设置具体版本(有1、3、7、14四个简约版本可选),版本固定时会按宽度和高度自动缩放条码大小。

CodeValue:

条码值。

结果:无

建议或要求:

要求在初始化之后,打印或预览之前调用。 

  ADD_PRINT_CHART:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

名称:增加图表

格式:

ADD_PRINT_CHART(Top, Left,Width, Height, ChartType, strHtml)

功能:增加图表打印项,设定该图表在纸张内的位置和大小,指定图表的类型和生成图表的数据来源,一般数据来源于一个超文本的Table,本函数可以快速清晰的生成任何复杂的图表。

参数:

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关键字转义为打印区域相对于纸张的“下边距”。

ChartType:

图表类型代码,整数型,目前支持的图表类型有如下几种:

0--折线图;1--柱状图;2--条形图;3--面积图;4--散点图;5--饼图;

6--直线图;7--甘特图;8--箭头图;9--气泡图;10—几何图;

strHtml:

table的超文本代码,用该table的数据来生成图表,数据结构定义如下几种:

一是“通用table”结构,这种结构的第一行提供图表的Label,第一列提供图表的图例名称,其它行列单元提供图表的Value,多数情况下Label作为X轴数据、Value作为Y轴数据来建立图表,本结构适合前7种图表;

二是“甘特图table”结构,这种结构仅适合甘特图,该Table的第一列是甘特图的阶段名称,可任意起名,第二列是“计划开始时间”,第三列是“计划完成时间”,第四列是“实际开始时间”,第五列是“实际完成时间”。注意第一行第二列和第一行第三列的“名称相同部分”会与第一列的内容组合成图表的“开始阶段的标注”,第一行第四列和第一行第五列的“名称相同部分”会与第一列的内容组合成图表的“实际阶段的标注”,。

三是“箭头图table”结构,这种结构仅适合箭头图,该Table的第一列是每个箭头的名称,可任意起名,第二列是“箭头起点X值”,第三列是“箭头起点Y值”,第四列是“箭头终点X值”,第五列是“箭头终点Y值”。

四是“气泡图table”结构,这种结构仅适合气泡图,该Table的第一列是每个气泡的名称,可任意起名,第二列是“气泡圆心X值”,第三列是“气泡圆心Y值”,第四列是“气泡圆的半径值”。

五是“几何图table”结构,这种结构仅适合几何图,该Table的第一列是每个几何图的名称,可任意起名,第二列是“左下角位置X值”,第三列是“左下角位置Y值”,第四列是“几何图的宽”,第五列是“几何图的高”,第六列是“几何图的图形代码”,第七列是“几何图的颜色”,第八列是“几何图是否透明”,1代表透明,0代表不透明。其中图形代码如下:0-矩形;1--圆形;2--竖线;3--横线;4--三角形;5--倒三角形;6--斜线;7--菱形;8--立方体;9--十字线;10--斜十字线;11--米字线;12--三角锥;13--倒三角锥。颜色有RGB值、16进制组合值或英文名三种描述法。

结果:无

建议或要求:

要求在初始化之后,打印或预览之前调用。

  SET_PRINT_STYLE:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

名称:设置打印项风格

格式:

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”代表“是”,其它表示“否”,缺省值为“是”,即缺省情况下,纯文本内容在打印维护时是禁止修改的。

结果:无

建议或要求:

打印初始化后、增加打印项之前调用本函数。

  NEWPAGE:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

名称:强制分页

格式:NEWPAGE()

功能:强制分页。执行该函数之后所增加的内容会在前面内容的首页之后新建一页输出,前面无内容时,仍然从第一页开始。    

参数:无

结果:返回逻辑值

返回逻辑真表示强制分页成功,逻辑假表示强制分页失败。

建议或要求:

打印初始化后调用本函数。

  PREVIEW:

1

2

3

4

5

6

7

8

9

10

11

12

13

名称:打印预览

格式:PREVIEW()

功能:打印预览输出页。

参数:无

结果:显示打印预览界面。如果预览界面没有被嵌入页面中,而是被弹出窗口,那么关闭窗口时会返回数字结果值,该数字大于0时表示被实际打印的次数。

建议或要求:

建立打印页之后运行。

  PRINT:

1

2

3

4

5

6

7

8

9

10

11

12

13

名称:直接打印

格式:PRINT()

功能:不经打印预览的直接打印。

参数:无

结果:打印机开始实际打印,返回逻辑结果,正确打印时返回真,打印出错时返回假。

建议或要求:

建立打印页之后运行。

  PRINT_SETUP:

1

2

3

4

5

6

7

8

9

10

11

12

13

名称:打印维护

格式:PRINT_SETUP()

功能:对整页的打印布局和打印风格进行界面维护,它与打印设计的区别是不具有打印项增删功能,目标使用者是最终用户。

参数:无

结果:显示打印维护界面。如界界面没有被嵌入页面中,而是被弹出窗口,那么关闭窗口时会返回数字结果值,该数字大于0时表示被实际打印的次数,这里的实打次数包括打印维护界面“打印”按钮的直接打印和“预览”按钮进入预览后的打印。

建议或要求:

建立打印页之后运行。

  PRINT_DESIGN:

1

2

3

4

5

6

7

以上是关于web打印控件 LODOP的详细api的主要内容,如果未能解决你的问题,请参考以下文章

web打印控件 LODOP的详细api

lodop 控件实现web打印功能

lodop SET_PRINT_PAGESIZE设置的纸张大小对打印器不起作用

Lodop连续打印内容逐渐偏移怎么办

Lodop某个电脑打印内容大小有问题

求懂 lodop打印控件的人 请教超文本分页实现

(c)2006-2024 SYSTEM All Rights Reserved IT常识