Как добиться, что бы вывод на печать не сопровождался прокруткой и нумерацией каждой напечатанной страницы?
код
QPrinter printer (QPrinter::HighResolution );
if (sz==3) // A3
{
printer.setOrientation(QPrinter::Portrait);
printer.setPageSize(QPrinter::A3);
}
else // A4
{
printer.setOrientation(QPrinter::Landscape);
printer.setPageSize(QPrinter::A4);
}
printer.setFullPage(FALSE);
printer.setColorMode(QPrinter::GrayScale );
printer.setPrintRange(QPrinter::PageRange);
printer.setMinMax(1,100);
if ( printer.setup( this) ) //подключение диалога принтера
{
QPainter p( &printer );
if ( !p.device() ) return;
QPaintDeviceMetrics metrics( p.device() );
int dpiy = metrics.logicalDpiY();
int margin = (int) ( (0.4/2.54)*dpiy ); // 2 поля
QRect view( margin, margin, metrics.width() - 2*margin, metrics.height() - 2*margin );
QFont font( TextEd->font() );
font.setPointSize( 10 );
QString txt = QStyleSheet::convertFromPlainText(TextEd->text(),QStyleSheetItem::WhiteSpacePre);
QSimpleRichText richText( txt, font,
TextEd->context(),
TextEd->styleSheet(),
TextEd->mimeSourceFactory(),
view.height() );
richText.setWidth( &p, view.width() );
int page = 1;
do {//размещение на странице
richText.draw( &p, margin, margin, view, colorGroup() );
view.moveBy( 0, view.height() );
p.translate( 0 , -view.height() );
p.setFont( font );
p.drawText( view.right() - p.fontMetrics().width( QString::number( page ) ),
view.bottom() + p.fontMetrics().ascent() + 5, QString::number( page ) );
if ( view.top() - margin >= richText.height() )
break;
printer.newPage();
page++;
} while (TRUE);
}