при прямой печати на принтер будут работать все расширенные свойства диалогового окна настройки принтера, т.е. сшивание, масштабирование до 50 % или создание водяного знака на документе. они очень важны для правильной работы финишера принтера.
Но если я сначала распечатаю файл, а затем скопирую файл на принтер, все расширенные свойства будут потеряны для HP Laserjet (PCL).
Чтобы воспроизвести это, я также смоделировал это в Delphi с помощью очень простого кода. После того, как нормальная печать на принтер заработала как положено, я только изменил lpszOutput в DocInfo на "...\test.prn" (не больше!) и prn-файл сгенерировался. Затем я открыл файл в двоичном режиме и записал его на тот же принтер ("StartDocPrinter", "WritePrinter", "EndDocPrinter"). А то документ распечатался правильно, но все настройки в расширенных свойствах сбились, ни масштабирования, ни водяного знака..
Я думал, что принтер должен получать точно такой же поток бинарных данных, но, пожалуйста, в чем может быть причина того, что явно драйвер пишет разное содержимое в файл prn и разное в принтер? или есть какие-то флаги или команды, которые я должен установить по коду? это конкретная проблема HP? заранее спасибо.