Lodop61技术手册.docx

上传人:b****6 文档编号:7125250 上传时间:2023-01-20 格式:DOCX 页数:79 大小:99.38KB
下载 相关 举报
Lodop61技术手册.docx_第1页
第1页 / 共79页
Lodop61技术手册.docx_第2页
第2页 / 共79页
Lodop61技术手册.docx_第3页
第3页 / 共79页
Lodop61技术手册.docx_第4页
第4页 / 共79页
Lodop61技术手册.docx_第5页
第5页 / 共79页
点击查看更多>>
下载资源
资源描述

Lodop61技术手册.docx

《Lodop61技术手册.docx》由会员分享,可在线阅读,更多相关《Lodop61技术手册.docx(79页珍藏版)》请在冰豆网上搜索。

Lodop61技术手册.docx

Lodop61技术手册

 

WEB打印控件Lodop技术手册

 

Ver6.1.5.8

 

Email:

gungho999@

QQ:

932131686

梦泰尔软件工作室

MTSoftware(CN)

目录

一、概述3

二、系统文件4

install_lodop32.exe和install_lodop64.exe4

LodopFuncs.js5

三、控件参数7

Caption7

Color7

Border7

四、功能函数8

1、基本函数8

VERSION8

PRINT_INIT8

SET_PRINT_PAGESIZE9

ADD_PRINT_HTM10

ADD_PRINT_TABLE11

ADD_PRINT_URL12

ADD_PRINT_TEXT13

ADD_PRINT_IMAGE14

ADD_PRINT_RECT14

ADD_PRINT_ELLIPSE15

ADD_PRINT_LINE16

ADD_PRINT_BARCODE17

ADD_PRINT_CHART18

SET_PRINT_STYLE19

PREVIEW21

PRINT21

PRINT_SETUP21

PRINT_DESIGN22

NEWPAGE22

GET_PRINTER_COUNT22

GET_PRINTER_NAME23

SET_PRINTER_INDEX23

SELECT_PRINTER24

SET_SHOW_MODE24

SET_PRINT_MODE27

SET_PRINT_COPIES29

SET_PREVIEW_WINDOW29

ADD_PRINT_SETUP_BKIMG30

SEND_PRINT_RAWDATA30

WRITE_PORT_DATA30

READ_PORT_DATA31

GET_PRINT_INIFFNAME31

GET_PAGESIZES_LIST32

WRITE_FILE_TEXT32

GET_FILE_TEXT33

GET_FILE_TIME33

IS_FILE_EXIST33

GET_SYSTEM_INFO34

GET_VALUE34

FORMAT37

GET_DIALOG_VALUE39

2、扩展函数39

PRINT_INITA39

ADD_PRINT_HTML40

ADD_PRINT_TBURL40

ADD_PRINT_TEXTA41

SET_PRINT_STYLEA41

SAVE_TO_FILE45

SET_SAVE_MODE46

ADD_PRINT_SHAPE47

SET_PRINTER_INDEXA48

NEWPAGEA48

PREVIEWA49

PREVIEWB49

PRINTA49

PRINTB50

SHOW_CHART50

DO_ACTION50

SET_LICENSES51

五、软件使用权注册51

CompanyName52

License52

LicenseA52

LicenseB53

六、打印维护和打印设计53

七、使用样例53

八、计量单位53

一、概述

Lodop是一款专业的WEB打印控件,其设计目标是简单易用、功能强大且短小精悍,开创WEB打印开发的新局面。

设计者对WEB下的打印需求进行了分类汇总,高度抽象,构思出仅用几个功能函数,就可实现复杂的打印任务,尽量避免由此引起的知识累赘。

控件发布包有3个系统文件组成,主要功能用3个控件参数和2组功能函数来实现。

尽管Lodop有个理想化的目标,那就是不用详细了解这些参数或函数,仅仅看懂几个样例就能很轻松地开始使用,控件为此提供了一个足够完善的设计界面,用它可以实现大多数打印开发任务,但事实上深入了解这些参数和函数总是有好处的,特别是当您的开发任务很复杂时,这就是本文目的,但愿本文档足够详细且简单明了。

如果此前曾看过lodop发行包里的入门样例,本文会更容易理解。

二、系统文件

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

install_lodop32.exe和install_lodop64.exe

这俩文件是控件安装和升级的主程序文件,其中install_lodop32.exe适用于32位浏览器,install_lodop64.exe适用于64位浏览器,提供给用户或开发者下载安装,如果不特意拦截一般都能100%安装,对“网页插件安装难”有彻底改善。

如果将其复制或改名为uninstall_lodop32.exe(或uninstall_lodop64.exe)就可用来卸载控件。

Lodop安装后,在操作系统ProgramFiles\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的任务是判断当前浏览器的类型并决定采用哪个对象实例,并检测控件是否安装、是否最新版本、并引导安装或升级。

文件内容如下:

functiongetLodop(oOBJECT,oEMBED){

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

本函数根据浏览器类型决定采用哪个对象作为控件实例:

IE系列、IE内核系列的浏览器采用oOBJECT,

其它浏览器(Firefox系列、Chrome系列、Opera系列、Safari系列等)采用oEMBED,

对于64位浏览器指向64位的安装程序install_lodop64.exe。

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

varstrHtmInstall="
打印控件未安装!

点击这里执行安装,安装后请刷新页面或重新进入。

";

varstrHtmUpdate="
打印控件需要升级!

点击这里执行升级,升级后请重新进入。

";

varstrHtm64_Install="
打印控件未安装!

点击这里执行安装,安装后请刷新页面或重新进入。

";

varstrHtm64_Update="
打印控件需要升级!

点击这里执行升级,升级后请重新进入。

";

varstrHtmFireFox="

注意:


1:

如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它。

";

varLODOP=oEMBED;

varisIE=(navigator.userAgent.indexOf('MSIE')>=0)||(navigator.userAgent.indexOf('Trident')>=0);

varis64IE=isIE&&(navigator.userAgent.indexOf('x64')>=0);

try{

if(isIE)LODOP=oOBJECT;

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

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

{document.documentElement.innerHTML=strHtmFireFox+document.documentElement.innerHTML;};

if(is64IE){document.write(strHtm64_Install);}else

if(isIE){document.write(strHtmInstall);}else{document.documentElement.innerHTML=strHtmInstall+document.documentElement.innerHTML;};

returnLODOP;

}elseif(LODOP.VERSION<"6.1.5.8"){

if(is64IE){document.write(strHtm64_Update);}else

if(isIE){document.write(strHtmUpdate);}else{document.documentElement.innerHTML=strHtmUpdate+document.documentElement.innerHTML;};

returnLODOP;

}

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

*********

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

returnLODOP;

}catch(err){

document.documentElement.innerHTML="Error:

"+strHtmInstall+document.documentElement.innerHTML;

returnLODOP;

}

}

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

2105C259-1E0C-4534-8141-A753534CB4CA"width=0height=0> 

varLODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));

以上两段代码相互配合实现了Lodop的安装、调用和升级。

之所以将LodopFuncs.js作为一个资源文件来部署,既可以利用浏览器的缓存减少页面内容的重复下载,同时还实现了控件发布统一管理,整个应用系统中只要这一个地方发布Lodop。

其它页面直接拷贝嵌入第2段代码就可以了。

三、控件参数

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

Caption

名称:

设置控件的显示标题

格式:

功能:

控件在页面内一般是以object元素形式被引用。

可以通过设置元素的width和height等于0来隐藏控件,不隐藏时可以为控件设置一个标题,以便于看到控件是否被正确安装,以及控件对象在页面内的位置。

希望打印预览界面或设计界面内嵌到网页内时,本参数很有用。

Color

名称:

设置控件的显示区域颜色

格式:

功能:

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

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

Border

名称:

设置控件的显示区域边界

格式:

功能:

通过该参数设置控件显示区域的边界,值等于1表示有边界,否则无边界。

本参数可以让控件更融于整体页面。

另外,控件还有三个用于注册的辅助参数,参考后面《软件使用权注册》一节。

四、功能函数

Lodop的功能函数不多,但参数比较复杂。

全部函数分“基本函数”和“扩展函数”两类,两类函数有类似性,基本函数使用简单,达不到要求时请使用扩展函数,二者无本质区别。

1、基本函数

VERSION

名称:

获得软件版本号

格式:

VERSION

结果:

返回字符型结果

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

X.X.X.X

举例:

varstrVersion=LODOP.VERSION;

PRINT_INIT

名称:

打印初始化

格式:

PRINT_INIT(strTaskName)

功能:

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

参数:

strTaskName:

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

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

结果:

返回逻辑值

返回逻辑真表示初始化成功,逻辑假表示初始化失败,失败原因有:

前一个打印事务没有完成;操作系统没有添加打印机(驱动)等。

建议或要求:

该函数与PRINT_INITA都有初始化功能,每个打印事务至少初始化一次,建议打印程序首先调用该函数。

任务名要尽量区别于其它打印任务,譬如用“XX单位_XX管理信息系统_XX子系统_XX模块_XX打印作业”字样。

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

举例:

LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_表单一");

SET_PRINT_PAGESIZE

名称:

设定纸张大小

格式:

SET_PRINT_PAGESIZE(intOrient,PageWidth,PageHeight,strPageName)

功能:

设定打印纸张为固定纸张或自适应内容高,并设定相关大小值或纸张名及打印方向。

参数:

intOrient:

打印方向及纸张类型,数字型,

1---纵(正)向打印,固定纸张; 

2---横向打印,固定纸张;  

3---纵(正)向打印,宽度固定,高度按打印内容的高度自适应;

0(或其它)----打印方向由操作者自行选择或按打印机缺省设置;

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仍可起作用。

如果打印程序未采用扩展方式(PRINT_INITA)初始化,本函数的固定纸张功能所定制的纸张大小,会起到PRINT_INITA中Width和Height的相同功能。

实际打印时,控件按如下优先级顺序确定纸张大小:

第1优先是打印维护里纸张属性(“本机自行定义纸张”)设置的纸张大小。

第2优先是SET_PRINT_PAGESIZE指定的纸张大小;

第3优先是上次打印时在预览界面设置里选择的纸张类型;

第4是按所选打印机的默认纸张;

结果:

建议或要求:

打印初始化之后调用。

如果打印纸张不固定,希望由操作者自主选择纸张时,则不要调用本函数。

举例一:

LODOP.SET_PRINT_PAGESIZE(1,2100,2970,"");

设置纸张大小为:

宽210mm*高2970mm,纵向打印

举例二:

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,"


hello");

举例二:

LODOP.ADD_PRINT_HTM("10%",0,"100%","80%","URL:

");

举例三:

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

Heig

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1