利用GET_PRINTER_COUNT,获取打印机个数,然后用GET_PRINTER_NAME(intPrinterIndex);循环获取打印机名称,添加到list列表里,可以让用户在页面就选择打印机。
LODOP的预览中可以选择打印机,有时候不需要预览,直接打印,可以用PRINTA()在直接打印打印前弹出选择框,也可以让用户在页面选择。
此文方法适用于Lodop和C-Lodop,此外,C-Lodop有个特有的获取打印机列表的方法,集中打印等云主机的打印机列表都可以用此方法获取,可查看本博客另一篇博文:C-Lodop获取打印机列表Create_Printer_List
如图所示,图示以前的在asp.net中的前台部分,没用runat server的服务器端控件,还有一篇关于服务器端控件和前台JS的交互的,但是那样很麻烦,这种获取打印机直接用前端控件比较好。
由于c-lodop是本地服务,即使是放在onload里,也可能存在c-lodop没准备好的状况,除了按照其他博文的方法准备好之外,也可以让用户点击,然后触发页面事件获取打印机列表。
此外,这种方法还要加判断,例如用户点击两次,就会重复给列表装载打印机,所以提前判断下如果列表不为空,就不能再执行装载列表的方法了,避免重复装载,可查看本博客相关博文:LODOP在页面让客户选择打印机
如下图所示,是利用列表选择的打印机进行预览,用的是列表里选项的value值,给每个选项付value值的时候,是从0到小于个数,每次循环加一,也就是到个数-1停止循环。原因是这个序号是从0开始的,也就是索引,C#或其他中,索引也都是从0开始数的,index是从0循环到小于个数,而不是从1循环到等于个数。
如果超出索引,会提示Printer NO. overflow。由于这图和一些文字是复制的原来的文章的,面向想学习的小白,所以介绍了索引。