あなたがsend raw data straight to the printer!に必要のようですね(申し訳ありません、それはC#でだ)
私は、PDFをバイト配列に変換し、それをTCPを使ってプリンタに直接送ることで、ネットワークプリンタに静かに印刷することができました。
プリンタのIPアドレスが分かっている場合は、TcpClientを使用してプリンタに直接ファイルを送信することができます。私はこれを自分のプリンタで動作させることにしましたが、PDF用に試しただけなので、他のプリンタ/ファイルタイプでどれくらいうまく動作するかわかりません。
using a tcp portに変更する必要があります(デバイスとプリンタでプリンタを選択してから、プリントサーバーのプロパティをクリックして、新しいTCPポートを追加できます)。 [プリンタをrawではなくlpc] [2]に設定する必要があります。
次に、次のような方法を使用しました。
Public Sub SilentPrint(filePath As String, printerIPAddress As string)
Dim bytes = System.IO.File.ReadAllBytes(filePath)
Dim client = new TcpClient(printerIPAddress, 9100) '9100 is the default print port for raw data
using myStream = client.GetStream()
myStream.Write(bytes, 0, bytes.Length)
myStream.Close()
End Using
End Sub
私にとってはうまくいったが、すべてのケースでうまくいくとは確信できない。
あなたは2つ以上追加するのを忘れました:PrintScreenを使用できません。カメラを使用できません。 –