Звучит так, как будто вам нужно отправить необработанные данные прямо на принтер! (извините, это на C #)
Мне удалось незаметно распечатать на сетевом принтере, преобразовав PDF вбайтовый массив, а затем отправка его непосредственно на принтер с использованием TCP.
Если вам известен IP-адрес вашего принтера, возможно, можно будет отправить файл напрямую на принтер с помощью TcpClient.У меня это работает на моем принтере, но я пробовал его только для PDF-файлов, поэтому я не знаю, насколько хорошо это будет работать для других принтеров / типов файлов.
Вам придется изменить настройки принтератак что это с использованием порта tcp (В устройствах и принтерах выберите ваш принтер (один клик), затем щелкните свойства сервера печати, в открывшемся мастере вы можете добавить новый порт TCP).Вам также нужно будет установить параметры [для принтера, а не для 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
Это сработало для меня, но яне могу быть уверен, что это будет работать во всех случаях.