Вывод QPrinter в pdf не эквивалентен размеру бумаги / страницы (A4)

Я пытаюсь вывести пользовательский интерфейс QWidget в PDF-файл, как это;

const QString filename = "class1bills.pdf";

printer = new QPrinter(QPrinter::HighResolution);
printer->setOutputFormat(QPrinter::PdfFormat);
printer->setOrientation(QPrinter::Portrait);
printer->setPaperSize(QPrinter::A4);
printer->setPageSize(QPrinter::A4);
printer->setPageMargins (15,15,15,15,QPrinter::Millimeter);
printer->setFullPage(false);
printer->setOutputFileName(filename);

painter = new QPainter(printer);

class1Bill->render(painter, QPoint(), QRegion(), QWidget::DrawChildren | QWidget::DrawWindowBackground);

painter->begin(printer);
painter->end();

assert(QFile::exists(filename));

class1Bill является объектом класса, который наследует QWidget. Все работает хорошо, но когда я открываю файл PDF, я ожидаю, что интерфейс виджета будет отображаться в соответствии с размером страницы А4, но он кажется очень маленьким, и я даже не вижу его на первый взгляд. Как сделать так, чтобы виджет соответствовал формату бумаги A4, который я установил?

0

Решение

Задавать printer->setFullPage(true); для того, чтобы соответствовать размеру бумаги

0

Другие решения


По вопросам рекламы [email protected]