打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
日志
vfp自定义纸张 2011-3-29 19:34阅读(8)
 

*枚举本台机器所有安装的打印机及每台打印机所支持纸张的尺寸
CLEAR
ob = CREATEOBJECT("CPrinter")
IF !ob.lError &&标识0b对象属性是否有效
"windows版本类别"+IIF(ob.ver98,"98,95,ME","NT/2000/XP")
"默认打印机:" +ob.defaultprintname
"端口:" +ob.defaultprintport
LOCAL i AS Integer ,J as Integer
FOR i = 1 TO ob.printcount &&枚举所有打印机
ob.currentprintname = ob.Printers[i]
"打印机:"+ ob.printers[i]+ "端口:"+ ob.portnames [i]
"打印方向" + IIF(OB.CURrentprinterorientation = 0 ,"纵向","横向")
"支持打印纸格数目:"+ALLTRIM(STR(ob.papercount))
"打印宽度范围:" + ALLTRIM(STR(ob.minpaperwidth)) + [-----] + ALLTRIM(STR(ob.maxpaperwidth))
"打印长度范围:" + ALLTRIM(STR(ob.minpaperlength)) + [----] + ALLTRIM(STR(ob.maxpaperlength))
""
"打印纸张名称 打印纸张规格 打印纸长度*打印纸宽度(0.1mm)"
"--------------------------------------------------------------------------------------------"
FOR j = 1 TO ob.PaperCount&&列举打印支持的所用纸张
ob.PaperNames[j] + " "+ +ALLTRIM(STR(ob.PaperSizes[j])) + " "+ ALLTRIM(STR(ob.paperlengths[j])) + "*" + ALLTRIM(STR(ob.paperWidths[j]))
ENDFOR
ENDFOR
ELSE
"打印机属性不可用"
ob.cErrMsg &&不可用原因
ENDIF

RELEASE ob


*!*在NT/2000/XP下增加自定义纸张
*!*增加自定义纸张
*!*szPaperName 纸张名字,PaperWidth 纸张宽度,PaperLength 纸张长度
*!*LeftMargin 纸张右边距,TopMargin 上边距,RightMargin 右边距,BottomMargin底边距
*!*以0.1mm单位
*!*在当前打印机增加自定义纸张
ob = CREATEOBJECT("CPrinter")
=ob.add2000custmpaper("cstpaper",1000,10000,0,0,0,0) &&成功返回.t.,失败返回.F.
*!* 在指定打印机增加自定义纸张
ob = CREATEOBJECT("CPrinter"Epson LQ-1600KII")
=ob.add2000custmpaper("cstpaper",1000,10000,0,0,0,0) &&成功返回.t.,失败返回.F.
*!* 或者
ob = CREATEOBJECT("CPrinter")
ob.currentprintname ="Epson LQ-1600KII"
=ob.add2000custmpaper("cstpaper",1000,10000,0,0,0,0) &&成功返回.t.,失败返回.F.

*!* 查找指定的纸张规格打印机是否支持。参数 宽度,长度(0.1MM)
*!*参数宽度,长宽
*!*检查100mm*100m纸张在当前打印机所支持的纸张规格中是否存在
nIndex= ob.FindPaper(1000,1000) 找到返回索引号,否则返回0
ob.PaperNames[nIndex]

*!*在98 ME,95调整自定定义纸张 参数 宽度,长度(0.1MM)
*把前打印机的自定义纸张调整为100MM*100MM
ob.Adj98CustmerPaper(1000,1000) 调整成功返回.t.,否则返回.f.


*!*自动适应报表自定义纸张
*!*cReportName 报表名
*!*lcPaperName 纸张名 此参数仅对NT./2000/XP用效
*!*lnPaperWidth 自定义纸张宽度,lnPaperHeight 长度 单位0.1mm
*!*成功返回.T.,失败返回.F.
=ob.AdjCustCustmerPaperToReport("myreport.frx","mypaper",1000,1000)
*!* 调整成功返回.t.,否则返回.f.

*!*删除自定义纸张 仅NT/2000/XP有效
*!* 删除自定义纸张规格
*!*PaperName 纸张名
*!*删除成功返回.T.,否则返回失败
=ob.Delete2000CustomPaper("mypaper")

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VFP全面控制EXCEL
大幅面CAD图打印输出技巧
在打印机里添加自定义纸张
office2013 excel如何自定义纸张大小
CAD怎么打印长图纸?只需两步就可轻松解决
我用的是爱普生LQ
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服