我有一台打印机,一台HP DeskJet 712C,通过Windows XP工作站共享。我可以从各种应用程序打印到此打印机,但我无法通过PRINT
shell命令从打印机打印(从打印机连接到的工作站或任何其他打印机)。我有一个Perl脚本,当前托管在Windows 7工作站上,可以生成文本文件。我想这些文本文件打印到上述打印机,但因为我不能使用PRINT
shell命令,我不知道如何。如何在Perl中将这些文本文件打印到该打印机中?用Perl打印到Windows网络打印机不带shell命令
回答
我对windows编程了解不多,但我可以想到的还有一些选项。
Printer - 有在CPAN模块名为Printer声称能办理窗口打印。我没有用过它。 YMMV,但它看起来正是你想要的。
Wx - Wx GUI工具包具有很好的Windows兼容打印功能。不幸的是,它也是一个巨大而复杂的依赖项,仅仅为一个简单的命令行脚本添加。我用过这个,它工作得非常好。
Win32::API - 这是我的Windows无知真正显示的地方。 Win32 :: API模块可以让你调用windows dll。如果您知道使用适当的函数/ DLL,则可以访问它们以开始打印作业。
更新
你可能想看看ActiveState的Perl的Win32用户的名单上this thread。
显然,你可以这样做:
open my $prn, '>', '//mycomputer/PrinterShare' or die "Oh noes $!";
print $prn "Here's some text to print.";
这是未经测试,未经考验,也许不真实的,但给它一个镜头。什么可能会出错?现在打印机很便宜。 ;)
Win32 :: API的问题是我不知道*要使用哪些函数/ DLL,并且我还没有找到有关该主题的良好文档。我确信有一些方法我可以将此归咎于微软。 ;) –
@KitPeters,我在网上搜索了一下MSDN文档,他们已经Windows 8将它们全部变成了地狱,我找不到任何东西了...... – daotoad
你能链接到Wk工具包吗?我认为这是Ghostscript或者是Ghostscript。 –
- 1. 打印PDF到网络打印机
- 2. 从ASP.NET打印到网络打印机
- 3. 我必须使用打印命令打印哪里我的打印机是IP网络打印机?
- 4. 使用php直接打印到网络打印机使用php
- 5. 无人值守打印网络打印机上打印文档
- 6. 使用PHP打印到网络打印机
- 7. 在mac上使用fstream C++打印到网络打印机
- 8. 使用IP地址打印到网络打印机
- 9. ASP.NET匿名用户无法打印到网络打印机
- 10. 从网络应用程序打印到客户端打印机
- 11. 打印到默认的Zebra打印机Windows打印机
- 12. PrintDocument.PrinterSettings.Duplex网络打印机
- 13. 网络打印机支持?
- 14. 网络打印机的DeviceCapabilities
- 15. 如何使用GhostScript(gswin32c.exe)shell命令在默认网络打印机上打印PDF
- 16. 打印网页到POS打印机
- 17. Android直接打印到网络打印机?
- 18. iPad/iPhone - 直接打印到网络打印机,无需airprint popover
- 19. Java 8问题打印PS到网络打印机
- 20. iOS打印到网络上的打印机
- 21. Infopath - 打印表单到网络打印机
- 22. Java直接打印到Postscript网络打印机
- 23. iOS直接打印到网络打印机
- 24. PHP - 打印内容到本地打印机在网络
- 25. 在C#中打印到网络打印机
- 26. php_printer.dll或其他方式打印到网络打印机
- 27. 用printf打印shell命令行()
- 28. 使用Jasper Reports 6.x打印到热敏打印机磁带打印机
- 29. 将网络打印机转换为WIFI打印机
- 30. Java - 如何知道打印机是否是网络打印机?
我想避免产生Word如果可能,但如果这是唯一的方法来做到这一点,那么我就是这么做的。 –