注:在win2000下通过
1,本地打印机
直接将文件句柄指向LPT1或LPT2,再向文件句柄传数据就行了。
例:
open PRINTER, ">LPT1" || die "Can't connect to printer!"; #特别要注意的是别少了那个">"符号。
print PRINTER "This is a test page!\n";
print PRINTER "what you get is what you print";
print PRINTER "\f"; #最后别忘了加上这个打印符号
close PRINTER;
2, 网络打印机
将文件句柄指向主机名+打印机共享名,再将要打印的数据传给该文件句柄。
例:
主机名:server 打印机共享名:LPlaserjet
$data = "This is a test page!\n1234567890";
open PRINTER, '>\\server\LPlaserjet' || die "Can't connect to printer!";
print PRINTER $data,"\f";
close PRINTER;
总得来说方法都非常简单,与在linux下将数据直接写入设备文件即是向该设备传输数据相同。须要注意的一点就是在网络打印机名应该是打印机设置共享时的共享名。
至于使用win32的默认打印机,及更换打印机操作,用win32API模块的注册表操作注册表可获得相应信息,再进行相应的更改文件句柄应该就能做到(没实践).