в программе (на QT 3.3.x) нужно создать postscript файл для его последующего вывода на принтер т.е непосредственно печатать будет совсем другая программа.
Использую класс QPrinter. Все работает просто замечательно, если бы не одна проблема.
Размер бумаги А3, но в принтер она должна вставляться не 297 x 420 а 420 x 297
т.е ее ширина больше чем длина, кто знает что такое принтер типа EPSON LX-1170 меня поймет.
setOrientation(QPrinter::Landscape);
не помогает, вернее он работает если бумага вставляется как 297 x 420.
Я думаю нужно указывать setOrientation(QPrinter::Portrait);
и как-то менять размер бумаги.
Пробовал покопать в сторону setPageSize(QPrinter::Custom); но что дальше с этим делать в доках не описанно.
PS может проблему можно решить не в формировании ps файла, а в его дальнейшей конвертации в epson команды.
Здесь я использую
gs -sDEVICE=epson -sOutputFile=tmp.epson -sPAPERSIZE=a3 -dNOPAUSE -dBATCH file.ps