我有一臺打印機,一臺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. 從ASP.NET打印到網絡打印機
- 2. 打印PDF到網絡打印機
- 3. 我必須使用打印命令打印哪裏我的打印機是IP網絡打印機?
- 4. 使用php直接打印到網絡打印機使用php
- 5. 無人值守打印網絡打印機上打印文檔
- 6. 使用IP地址打印到網絡打印機
- 7. 從網絡應用程序打印到客戶端打印機
- 8. 在mac上使用fstream C++打印到網絡打印機
- 9. ASP.NET匿名用戶無法打印到網絡打印機
- 10. 使用PHP打印到網絡打印機
- 11. 打印到默認的Zebra打印機Windows打印機
- 12. PrintDocument.PrinterSettings.Duplex網絡打印機
- 13. 網絡打印機支持?
- 14. 網絡打印機的DeviceCapabilities
- 15. 如何使用GhostScript(gswin32c.exe)shell命令在默認網絡打印機上打印PDF
- 16. 打印網頁到POS打印機
- 17. Android直接打印到網絡打印機?
- 18. iOS直接打印到網絡打印機
- 19. iOS打印到網絡上的打印機
- 20. PHP - 打印內容到本地打印機在網絡
- 21. Java直接打印到Postscript網絡打印機
- 22. 在C#中打印到網絡打印機
- 23. php_printer.dll或其他方式打印到網絡打印機
- 24. Java 8問題打印PS到網絡打印機
- 25. iPad/iPhone - 直接打印到網絡打印機,無需airprint popover
- 26. Infopath - 打印表單到網絡打印機
- 27. 如何使用命令提示符通過網絡打印機
- 28. 用printf打印shell命令行()
- 29. ESC命令將條形碼打印到熱敏打印機上?
- 30. Java - 如何知道打印機是否是網絡打印機?
我想避免產生Word如果可能,但如果這是唯一的方法來做到這一點,那麼我就是這麼做的。 –