Название: Печать QGraphicsScene и отступы при печати Отправлено: nixman05 от Декабрь 28, 2011, 22:42 В начале на сцену на сцену загружается QGraphicsPixmapItem, который содержит сканированный бланк отчета (формат A4).
Затем на сцену добавляется текст. После формирования отчета в QGraphicsView видно, что размер сцены немного больше размера бланка. Отчет, как сохраняется в pdf, так и печатается на принтере. Сохранение в pdf реализовано следующим образом: Код При этом размер pdf 209,903 x 297,039 мм. Вывод на печать реализован следующим образом Код При этом документ уплывает вверх и немного в сторону. Внизу несколько сантиметров пустого поля, а также нижняя часть бланка не пропечатана на сантиметр. Правая часть бланка пропечатана правильно но сдвинута на некоторое расстояния. Верх и левая пторона бланка уходят за границы страницы. Как корректно отпечатать документ? Название: Re: Печать QGraphicsScene и отступы при печати Отправлено: nixman05 от Декабрь 29, 2011, 19:07 Добавил вывод отладочной информации Код
В консоль выводится Page Rect Width 17 Height 23 Paper size in mm: Width 210 Height 297 Paper Size in device: Width 16.5354 Height 23.3858 Почему pageRect 17x23, а paperSize 16.5354x23.3858? Ведь поля заданы нулевые. Также Код Не дает точного соответствия, независимо от AcpectRatio Название: Re: Печать QGraphicsScene и отступы при печати Отправлено: nixman05 от Январь 18, 2012, 22:47 Вопрос все еще остается открытым.
Все таки непонятно: Есть сканированный бланк формата А-4; Данный бланк загружается на сцену(в качестве фона) Добавляются текстовые элементы Фон делается невидимым Сцена печатается на принтере В результате текст выходит искаженным (и не попадает в поля бланка) Может рисовать непосредственно на принтере? Каким образом вывести текст в заданную координату (в миллиметрах)? Название: Re: Печать QGraphicsScene и отступы при печати Отправлено: nixman05 от Январь 19, 2012, 12:35 Небольшое добавление printer.logicalDpiX() : 2 printer.logicalDpiY) : 2 printer.physicalDpiX() : 600 printer.physicalDpiY() : 600 при эном, нескотря на то, что , как было указанно выше, было установлено printer.setPageSize(QPrinter::A4) widthMM() = 200 , heightMM() = 200. А если setFullPage установить в true, то они будут равны но 210. |