Windows XP ワークステーションを介して共有されているプリンター、HP DeskJet 712C があります。さまざまなアプリケーションからこのプリンターに印刷できますが、PRINT
シェル コマンドを使用して (プリンターが接続されているワークステーションまたはその他のワークステーションから) 印刷できません。テキスト ファイルを生成する Perl スクリプトを現在 Windows 7 ワークステーションでホストしています。そのテキストファイルを前述のプリンターで印刷したいのですが、PRINT
シェルコマンドが使えないので方法がわかりません。これらのテキスト ファイルを Perl でそのプリンタに出力するにはどうすればよいですか?
1 に答える
Windows プログラミングについてはよくわかりませんが、考えられるオプションがいくつかあります。
プリンター- Windows 印刷を処理すると主張するプリンターと呼ばれる CPAN のモジュールがあります。私はそれを使用していません。YMMVですが、まさにあなたが望むものに見えます。
Wx - Wx GUI ツールキットには、Windows と互換性のある優れた印刷機能があります。残念なことに、単純なコマンド ライン スクリプトのために追加するのは、巨大で複雑な依存関係でもあります。私はこれを使用しましたが、非常にうまく機能します。
Win32::API - ここで、私の Windows 無知が本当に発揮されます。Win32::API モジュールを使用すると、Windows DLL を呼び出すことができます。使用する適切な関数/DLL がわかっている場合は、それらにアクセスして印刷ジョブを開始できます。
アップデート
ActiveState の Perl-Win32 ユーザー リストのこのスレッドをチェックしてみてください。
どうやらあなたはただできる:
open my $prn, '>', '//mycomputer/PrinterShare' or die "Oh noes $!";
print $prn "Here's some text to print.";
これはテストも試行もされておらず、真実ではないかもしれませんが、試してみてください。何がうまくいかない可能性がありますか?最近はプリンターが安くなっています。;)