いくつかの Netbeans QT C++ コードを継承し、QPrinters を使用した PDF は正常に印刷されますが、プリンターに印刷するとページの半分しか印刷されません。コードはかなり簡単です。ページ上に何かが印刷されているように見えますが、すべてのオブジェクトが考慮されています (各オブジェクトに名前が付けられています)。
QPrinter * printer = new QPrinter(QPrinter::HighResolution);
QPainter painter;
painter.begin(printer);
double xscale = printer->pageRect().width()/double(width());
double yscale = printer->pageRect().height()/double(height());
double scale = qMin(xscale, yscale);
painter.translate(printer->paperRect().x() + printer->pageRect().width()/2,
printer->paperRect().y() + printer->pageRect().height()/2);
painter.scale(scale, scale);
painter.translate(-width()/2, -height()/2);
render(&painter);