LINUX.ORG.RU

задать размер бумаги QPrinter или gs


0

0

в программе (на 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


Re: задать размер бумаги QPrinter или gs

А почему используешь Qt 3.3 ?
В 4.2 есть пример printpreview - там можно посмотреть как это делается.

UVV ★★★★★
()
Ответ на: Re: задать размер бумаги QPrinter или gs от UVV

Re: задать размер бумаги QPrinter или gs

>>А почему используешь Qt 3.3 ?
потому что пишу под МСВС а там совсем недавно появился qt 3.3 (или 3.4)
и за это им БОЛЬШОЕ спасибо (в прошлом дистре была qt 2.x)
Ставить новую библиотеку нельзя, т.к программу сертифицировать нужно.

CL
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.