//generate printing instance
printer.setPageSize(printer.A4);
//create print dialog, pass printer instance
pDlg->setWindowTitle(tr("Bestelling printen"));
//debugging
printer.setOutputFileName("rtest.pdf");
//get page scales
const double xScale = printer.pageRect().width();
const double yScale = printer.pageRect().height();
double yPos = 0;
double xPos = 0;
qDebug("xScale:%f",xScale);
qDebug("yScale:%f", yScale);
if(pDlg->exec())
return;
//generate QPainter instance
//pass printer reference to the painter.begin() function
painter.begin(&printer);
//set scale
painter.setPen(Qt::black);
painter.
setFont(QFont("Arial",
14));
painter.drawText(rect(), Qt::AlignLeft, "Bestelling overzicht");
painter.translate(0, 20);
yPos += 20;
int count = client.size();
for(int i = 1; i < count; i++){
QRectF rectt
= painter.
boundingRect(QRect(), Qt
::AlignLeft, client.
at(i
).
toLocal8Bit().
constData());
qDebug("height:%f", rectt.height());
qDebug("width:%f", rectt.width());
yPos += rectt.height();
if( yPos < yScale ){
painter.drawText(rect(), Qt::AlignLeft, client.at(i).toLocal8Bit().constData());
painter.translate(0, rectt.height());
}else{
//new print page
printer.newPage();
painter.resetTransform();
yPos = 0;
painter.drawText(rect(), Qt::AlignLeft, client.at(i).toLocal8Bit().constData());
painter.translate(0, rectt.height());
}
}
painter.drawText(rect(), Qt::AlignLeft, "Bestelling");
painter.translate(0, 20);
yPos += 20;
int countData = data.size();
for(int i = 1; i < countData; i++){
QRectF rectt
= painter.
boundingRect(QRect(), Qt
::AlignLeft, data.
at(i
).
toLocal8Bit().
constData());
qDebug("height:%f", rectt.height());
qDebug("width:%f", rectt.width());
yPos += rectt.height();
if( yPos < yScale){
painter.drawText(rect(), Qt::AlignLeft, data.at(i).toLocal8Bit().constData());
painter.translate(0, rectt.height());
}else{
printer.newPage();
painter.resetTransform();
yPos = 0;
painter.drawText(rect(), Qt::AlignLeft, data.at(i).toLocal8Bit().constData());
painter.translate(0, rectt.height());
}
}
painter.save();
}
void print::printOrder(const QStringList client, const QStringList data){
//generate printing instance
QPrinter printer;
printer.setPageSize(printer.A4);
//create print dialog, pass printer instance
QPrintDialog *pDlg = new QPrintDialog(&printer, this);
pDlg->setWindowTitle(tr("Bestelling printen"));
//debugging
printer.setOutputFileName("rtest.pdf");
//get page scales
const double xScale = printer.pageRect().width();
const double yScale = printer.pageRect().height();
double yPos = 0;
double xPos = 0;
qDebug("xScale:%f",xScale);
qDebug("yScale:%f", yScale);
if(pDlg->exec())
return;
//generate QPainter instance
QPainter painter;
//pass printer reference to the painter.begin() function
painter.begin(&printer);
//set scale
painter.setPen(Qt::black);
painter.setFont(QFont("Arial", 14));
painter.drawText(rect(), Qt::AlignLeft, "Bestelling overzicht");
painter.translate(0, 20);
yPos += 20;
int count = client.size();
for(int i = 1; i < count; i++){
QRectF rectt = painter.boundingRect(QRect(), Qt::AlignLeft, client.at(i).toLocal8Bit().constData());
qDebug("height:%f", rectt.height());
qDebug("width:%f", rectt.width());
yPos += rectt.height();
if( yPos < yScale ){
painter.drawText(rect(), Qt::AlignLeft, client.at(i).toLocal8Bit().constData());
painter.translate(0, rectt.height());
}else{
//new print page
printer.newPage();
painter.resetTransform();
yPos = 0;
painter.drawText(rect(), Qt::AlignLeft, client.at(i).toLocal8Bit().constData());
painter.translate(0, rectt.height());
}
}
painter.drawText(rect(), Qt::AlignLeft, "Bestelling");
painter.translate(0, 20);
yPos += 20;
int countData = data.size();
for(int i = 1; i < countData; i++){
QRectF rectt = painter.boundingRect(QRect(), Qt::AlignLeft, data.at(i).toLocal8Bit().constData());
qDebug("height:%f", rectt.height());
qDebug("width:%f", rectt.width());
yPos += rectt.height();
if( yPos < yScale){
painter.drawText(rect(), Qt::AlignLeft, data.at(i).toLocal8Bit().constData());
painter.translate(0, rectt.height());
}else{
printer.newPage();
painter.resetTransform();
yPos = 0;
painter.drawText(rect(), Qt::AlignLeft, data.at(i).toLocal8Bit().constData());
painter.translate(0, rectt.height());
}
}
painter.save();
}
To copy to clipboard, switch view to plain text mode
Bookmarks