0

Windows XP ワークステーションを介して共有されているプリンター、HP DeskJet 712C があります。さまざまなアプリケーションからこのプリンターに印刷できますが、PRINTシェル コマンドを使用して (プリンターが接続されているワークステーションまたはその他のワークステーションから) 印刷できません。テキスト ファイルを生成する Perl スクリプトを現在 Windows 7 ワークステーションでホストしています。そのテキストファイルを前述のプリンターで印刷したいのですが、PRINTシェルコマンドが使えないので方法がわかりません。これらのテキスト ファイルを Perl でそのプリンタに出力するにはどうすればよいですか?

4

1 に答える 1

2

Windows プログラミングについてはよくわかりませんが、考えられるオプションがいくつかあります。

  1. プリンター- Windows 印刷を処理すると主張するプリンターと呼ばれる CPAN のモジュールがあります。私はそれを使用していません。YMMVですが、まさにあなたが望むものに見えます。

  2. Wx - Wx GUI ツールキットには、Windows と互換性のある優れた印刷機能があります。残念なことに、単純なコマンド ライン スクリプトのために追加するのは、巨大で複雑な依存関係でもあります。私はこれを使用しましたが、非常にうまく機能します。

  3. 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.";

これはテストも試行もされておらず、真実ではないかもしれませんが、試してみてください。何がうまくいかない可能性がありますか?最近はプリンターが安くなっています。;)

于 2013-02-01T00:55:32.180 に答える